WKWebView OC和JS交互
2017-10-25 11:16
411 查看
网页很简单,只有一个按钮,点击按钮会触发一个方法,在事件的方法中通过调用
网页代码如下
代码实现,通过设置
实现
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); }
相关文章推荐
- js与oc交互以及cookie设置 UIWebView与WKWebview兼容
- WKWebView OC与js的交互
- OC与JS交互之WKWebView
- ios js与oc原生WKWebView方法注入及交互传值
- OC与JS交互之WKWebView
- oc与js交互-----WKWebView
- js与oc交互以及cookie设置 UIWebView与WKWebview兼容
- WKWebView的简单使用,与js交互(js调用OC或swift方法)
- ios下OC与JS交互之WKWebView
- 项目中关于oc与JS的交互,wkwebview的使用
- OC与JS交互之WKWebView
- iOS开发中OC与H5网页交互之OC传值给JS(WKWebView)
- iOS(WKWebView)OC与JS交互 之三
- iOS OC与H5网页交互之OC传值给JS(WKWebView)
- OC与JS交互之WKWebView
- OC与JS交互之WKWebView
- OC与JS交互之WKWebView
- iOS下JS与OC互相调用(二)--WKWebView 拦截URL
- WKWebView 基本使用及与JS交互,以及低版本系统崩溃问题解决
- iOS中UIWebView与WKWebView、JavaScript与OC交互、Cookie管理看我就够(中)