functionshowAlert(message){
alert(message)
}
oc调用:
JSContext *context = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"]NSString *textJS = @"showAlert('这里是JS中alert弹出的message')"
[context evaluateScript:textJS]
1 利用JSContext1 在webViewDidFinishLoad方法里,通过当前webView的键获取到jscontext
2 将context对象与js方法建立桥接联系,
2 利用WKWebView的新特性MessageHandler来实现JS调用原生方法。
2.1 MessageHandler 是什么?
WKWebView 初始化时,有一个参数叫configuration,它是WKWebViewConfiguration类型的参数,而WKWebViewConfiguration有一个属性叫userContentController,它又是WKUserContentController类型的参数。
WKUserContentController对象有一个方法- addScriptMessageHandler:name:,
我把这个功能简称为MessageHandler。
2.2 怎么使用MessageHandler?
a 创建WKWebViewConfiguration对象,配置各个API对应的MessageHandler。WKUserContentController对象可以添加多个scriptMessageHandler。
2.3 处理HTML中JS调用