WKWebView OC和JS交互
来源:互联网 发布:微机室上网控制软件 编辑:程序博客网 时间:2024/05/15 04:51
网页很简单,只有一个按钮,点击按钮会触发一个方法,在事件的方法中通过调用 window.webkit.messageHandlers.NativeModel.postMessage({name: 'zhangyutang', age: 12});
把消息发送给OC。OC中需要注入相同名称的model:NativeModel
。网页代码如下
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>html5page-oc</title> <script> function btn1Click() { window.webkit.messageHandlers.NativeModel.postMessage({name: 'zhangyutang', age: 12}); alert("after call"); } </script></head><body><input type="button" value="button c" onclick="btn1Click()"></body></html>
代码实现,通过设置 WKWebViewConfiguration
的 addScriptMessageHandler:name
来设置JS事件的接收处理器,这边设置为当前对象self
,这里的name需要设置为JS中的调用的Model:NativeModel
。
WKWebViewConfiguration* config = [[WKWebViewConfiguration alloc] init]; config.userContentController = [WKUserContentController new]; [config.userContentController addScriptMessageHandler:self name:@"NativeModel"]; _webView = [[WKWebView alloc] initWithFrame:self.view.bounds configuration:config]; _webView.translatesAutoresizingMaskIntoConstraints = NO; _webView.backgroundColor = [UIColor whiteColor]; _webView.UIDelegate = self; _webView.navigationDelegate = self; [self.view addSubview:_webView];
实现 WKScriptMessageHandler
的回调方法 userContentController:didReceiveScriptMessage
,在这边处理JS的方法调用。
#pragma mark - ......::::::: WKScriptMessageHandler :::::::......- (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message { id body = message.body; NSLog(@"=== %@", body);}
阅读全文
0 0
- WKWebView OC和JS交互
- WKWebView的OC和JS交互
- oc与js交互-----WKWebView
- WKWebView详解&WKWebVieW和JS交互
- WKWebView OC与js的交互
- OC与JS交互之WKWebView
- OC与JS交互之WKWebView
- OC 与 JS 交互 (UIWebView & WKWebView)
- OC与JS交互之WKWebView
- OC与JS交互之WKWebView
- iOS 开发 Object-C和JavaScript交互详解之OC与JS交互在WKWebView中使用
- iOS下OC与JS的交互(WKWebview-MessageHandler实现)
- WKWebView 的使用(和js交互)
- OC和JS交互
- JS和OC交互
- Web与OC交互---WKWebView
- WKWebView与js交互
- WKWebView与JS交互
- Kotlin传递可变长参数给Java可变参数方法
- PHP错误日志记录:display_errors与log_errors的区别
- hash-mysql索引
- UIWebView中Objective-C和JavaScript通信
- Linux 基础命令(五)—— 文本处理三剑客之grep
- WKWebView OC和JS交互
- memcached可视化客户端工具
- UIView 的 weak 和 strong 修饰符使用的场景
- IOS串行队列、并行队列进行同步或者异步任务解析
- imageloaderdemo
- undeclared selector warning 警告处理
- Linux关机和重启命令
- 第八周项目一 建立顺序串算法库
- QQ、微信分享总结