GCWKWebViewJSBridge
有啥功能
详情点击示例
要运行示例项目,首先从中克隆仓库,然后在 Example 目录中运行 pod install
命令。
要求
安装
CocoaPods
GCWKWebViewJSBridge 可通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中
Add pod 'GCWKWebViewJSBridge' to your Podfile.
Run pod install or pod update.
Import <GCWKWebViewJSBridge/GCWKWebViewJSBridge.h>.
pod 'GCWKWebViewJSBridge', '~> 0.1.0'
手动
- 下载 GCWKWebViewJSBridge 子目录中的所有文件。
- 将源文件添加到您的 Xcode 项目中。
- 导入 GCWKWebViewJSBridge.h
作者
strivever
描述
1. 深度交互 WKWebView,并提供了 js 日志输出到 xcode 控制台;2. 提供 JS 调用 OC;提供 OC 调用 JS;3. OC 通过注入变量给 JS 传参数;4. OC 通过注册 JS 函数,供 JS 调用;5. js 给 OC 传参;通过拦截链接,进行交互,进行了统一封装,统一管理你的拦截回调;
使用方法
//注册xcode控制台 输出web控制台信息
[bridge registCaptureJSConsoleLog];
[bridge registCaptureJSExceptionLog];
//注册JS调用ocShare函数
[bridge registJSMethod:@"ocCamera" nativeHandler:^(NSString * _Nonnull messageName, id _Nonnull messageBody) {
NSLog(@"%@",messageBody);
}];
//批量注册JS调用oc函数
[bridge registJSMethods:@[@"ocShare",@"getUserJson"] nativeHandler:^(NSString * _Nonnull messageName, id _Nonnull messageBody) {
NSLog(@"%@:%@",messageName,messageBody);
}];
//oc向JS注入实例变量,可用来向h5注入用户token,信息等等
NSDictionary * userInfo = @{@"uid":@"10086",@"name":@"中国移动",@"age":@"22",@"token":@"oidahnfjabfiabfuaojfbaiufbafo"};
[bridge nativeUploadJSArguments:userInfo filedName:@"uoloadUser" inTime:WKUserScriptInjectionTimeAtDocumentStart];
//oc向JS注入参数,可用来向h5注入一个带参数返回值的函数,供h5调用
NSArray * lists = @[@"周1",@"周2",@"周3",@"周4"];
[bridge nativeUploadJSArguments:lists useMethod:@"getOCMessage" inTime:WKUserScriptInjectionTimeAtDocumentStart];
//注册拦截www.baidu.com
[bridge registInterceptURLKey:@"www.baidu.com" handler:^(NSString * _Nonnull keyURL, NSString * _Nonnull URL) {
}];
//批量注册拦截www.baidu.com
[bridge registInterceptURLKeys:@[@"share:123",@"share:12345",@"share://info#"] handler:^(NSString * _Nonnull keyURL, NSString * _Nonnull URL) {
NSLog(@"%@====\n%@",keyURL,URL);
}];
许可证
GCWKWebViewJSBridge 采用 MIT 许可证。有关更多信息,请参阅 LICENSE 文件。