YHExplorerViewController.h
2.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
//
// YHExplorerViewController.h
// YohoExplorerDemo
//
// Created by gaoqiang xu on 2/27/15.
// Copyright (c) 2015 gaoqiang xu. All rights reserved.
//
#import "CDVViewController.h"
#import "CDVCommandDelegateImpl.h"
#import "CDVCommandQueue.h"
#import "CDVYHInterfaceDelegate.h"
#import "YHNative.h"
#import "YHURLCache.h"
#import "YHLinkDefaultParser.h"
@protocol YHExplorerDelegate;
@protocol YHExplorer <NSObject>
/**
* 加载url
*
* @param url 地址
*/
- (void)loadWebUrl:(NSString *)url;
/**
* 加载html内容
*
* @param html 网页内容
*/
- (void)loadHTMLString:(NSString *)html;
/**
* 设置进度条的颜色
*
* @param color 颜色
*/
- (void)setProgressBarColor:(UIColor *)color;
@optional
/**
* 注册一个链接解析器
*
* @param parser 链接解析器
*/
- (void)registerLinkParser:(id <YHLinkParserDelegate>)parser;
/**
* 禁用链接解析
*
* @param parser 链接解析器
*/
- (void)unRegisterLinkParser:(id <YHLinkParserDelegate>)parser;
/**
* 移除滚动条
*/
- (void)removeProgress;
@end
@interface YHExplorerViewController : CDVViewController
<CDVYHInterfaceDelegate, YHExplorer>
/**
* 存放一些自动跳转的scheme,目前有itms-apps, itms-appss
可以往里面补充
*/
@property (strong, nonatomic) NSMutableArray *autoSchemes;
// 进度条功能的启动/停用
@property (nonatomic) BOOL progressBarEnabled;
// 本地机能列表
@property (readonly, strong, nonatomic) NSMutableArray *nativeAbilities;
// 自动处理默认的scheme跳转,如itms-apps
@property (nonatomic) BOOL automaticallySchemeHandle;
// 网页的title
@property (readonly, copy, nonatomic) NSString *pageTitle;
//滚动条所在的navibar
@property (weak, nonatomic) UINavigationBar *currentNaviBar;
// 网页交互代理(包含UIWebView的代理)
@property (weak, nonatomic) id <YHExplorerDelegate> delegate;
/**
* 使用一个url初始化
*
* @param url 地址
*
* @return instance
*/
- (instancetype)initWithUrl:(NSString *)url;
- (instancetype)initWithCurrentNaviBar:(UINavigationBar *)currentNaviBar;
@end
@interface YHExplorerCommandDelegate : CDVCommandDelegateImpl
@end
@interface YHExplorerCommandQueue : CDVCommandQueue
@end
#pragma mark - Protocol:YHExplorerDelegate
@protocol YHExplorerDelegate <UIWebViewDelegate>
@optional
/**
* 获取页面的title
*
* @param title 页面的title
*/
- (void)pageTitleUpdated:(NSString *)title;
/**
* webView探测到含有指定参数的回调
*
* @param params 参数
*/
- (void)explorerDidDetectParameters:(NSDictionary *)params;
#pragma mark Native
/**
* 本地机能是否可以被触发,默认是YES
*
* @param native YHNative对象
*/
- (BOOL)nativeActionShouldBegin:(YHNative *)native;
/**
* 本地机能调用结束
*
* @param native YHNative对象
* @param success 执行结果
*/
- (void)nativeAction:(YHNative *)native didEndWithResult:(BOOL)success userInfo:(NSDictionary *)userInfo;
@required
@end