YHExplorerViewController.h
2.96 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
//
// 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 "YHURLCache.h"
#import "YHLinkDefaultParser.h"
@protocol YHExplorerDelegate;
@protocol YHExplorer <NSObject>
/**
* 加载url
*
* @param url 地址
*/
- (void)loadWebUrl:(NSString * _Nonnull)url;
/**
* 加载html内容
*
* @param html 网页内容
*/
- (void)loadHTMLString:(NSString * _Nonnull)html;
/**
* 设置进度条的颜色
*
* @param color 颜色
*/
- (void)setProgressBarColor:(UIColor * _Nonnull)color;
@optional
/**
* 注册一个链接解析器
*
* @param parser 链接解析器
*/
- (void)registerLinkParser:(id <YHLinkParserDelegate> _Nonnull)parser;
/**
* 禁用链接解析
*
* @param parser 链接解析器
*/
- (void)unRegisterLinkParser:(id <YHLinkParserDelegate> _Nonnull)parser;
/**
* 移除滚动条
*/
- (void)removeProgress;
@end
@interface YHExplorerViewController : CDVViewController
<CDVYHInterfaceDelegate, YHExplorer>
/**
* 存放一些自动跳转的scheme,目前有itms-apps, itms-appss
可以往里面补充
*/
@property (strong, nonatomic) NSMutableArray * _Nonnull autoSchemes;
// 进度条功能的启动/停用
@property (nonatomic) BOOL progressBarEnabled;
// 本地机能列表
@property (readonly, strong, nonatomic) NSMutableArray * _Nonnull nativeAbilities;
// 自动处理默认的scheme跳转,如itms-apps
@property (nonatomic) BOOL automaticallySchemeHandle;
// 网页的title
@property (readonly, copy, nonatomic) NSString * _Nonnull pageTitle;
//滚动条所在的navibar
@property (weak, nonatomic) UINavigationBar * _Nullable currentNaviBar;
// 网页交互代理(包含UIWebView的代理)
@property (weak, nonatomic) id <YHExplorerDelegate> _Nullable delegate;
/**
* 使用一个url初始化
*
* @param url 地址
*
* @return instance
*/
- (instancetype _Nonnull)initWithUrl:(NSString * _Nonnull)url;
- (instancetype _Nonnull)initWithCurrentNaviBar:(UINavigationBar * _Nonnull)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 * _Nullable)title;
/**
* webView探测到含有指定参数的回调
*
* @param params 参数
*/
- (void)explorerDidDetectParameters:(NSDictionary * _Nonnull)params;
#pragma mark Native
/**
@brief H5端触发Native事件
@param params 事件参数
@param completion 处理完后的回调(务必回调!!!)
@since 1.1.0
*/
- (void)didGetMessageFromWeb:(NSDictionary * _Nonnull)params completion:(void (^ _Nonnull) (NSDictionary * _Nullable, BOOL))completion;
@required
@end