对iOS WKWebView的二次封装,更方便的使用WkWebView。
- 增强的Javascript和Native代码交互
- 简单的Cookie设置方法
- 支持加载进度条和前进后退操作
- 支持Web页面错误信息和Log输出
- 可清理WebView缓存
| 功能 | WKWebViewController | WKWebViewControllerEx |
|---|---|---|
| JS交互 | ✔ | ✔ |
| 错误/Log输出 | ✔ | ✔ |
| Cookie设置 | ✔ | ✔ |
| 进度条 | ✘ | ✔ |
| 前进/后退 | ✘ | ✔ |
- 将
Docs/html下的文件复制到本机web服务器目录; - 在
/etc/host添加 127.0.0.1 www.test.com, 在浏览器能正常访问 http://www.test.com/wkwebview.html 即可; - 打开
Example/testWKWebView.xcodeproj工程即可看到运行效果; - 更多示例代码请参考Demo或html。
-
JS->Native
window.wkTestObject.testFunc3('arg1', {a:1, b:2}, function(response) {
alert(response); return {a:10};});
WKWebViewController->messageName设置为wkTestObject- 添加
-(id)testFunc3(id args)函数实现
支持的参数类型Number, String, Array, JSON Object, 最后一个参数可以是function(Native 函数调用后返回值会通过此函数回调过来)。 -
Native->JS
NSArray *args = @[@"str", @{"key":value}, @[@"item"], @(1)];invokeJSFunction(@"testJSFunction", args, completionHandler:completionHandler);- 参数一: JS函数名
- 参数二:参数列表(支持的类型,NSNumber, NSString, NSArray, NSDictionary)
- 参数三:执行结果回调
将WKWebViewController目录拖入工程,根据需要引用WkWebViewController.h 或WKWebViewControllerEx.h.
iOS 8.0及以上