在WKWebView中,我们可以使用 webkit 消息处理程序调用 ObjectiveC/Swift 代码webkit.messageHandlers.<handler>.pushMessage(message).
这也适用于IFrames。
有没有办法通过打电话给IFrame来回应这个问题?
目前,evaluateJavaScript:
API 仅支持与主机的通信。
你需要的是一个通往IOS的JavaScript桥接在 : http://www.priyaontech.com/2014/12/native-%E2%80%93-js-bridging-on-ios8-using-wkwebview/和http://www.joshuakehn.com/2014/10/29/using-javascript-with-wkwebview-in-ios-8.html
希望这有帮助
这是一个非常好的Javascript桥库(它支持UIWebview
和WKWebview
https://github.com/marcuswestin/WebViewJavascriptBridge):
该网桥可用于本机到 JS 或 JS 到本机的通信。他们做得很好,你应该看看它。
在Web端,您必须添加一些JavaScript代码,以便桥接存在于HTML端,他们的文档显示了要添加setupWebViewJavascriptBridge
方法(阅读自述文件的用法部分)。最后,由您直接在页面中添加此代码,还是使用evaluateJavaScript
通过iOS添加此代码
两个不同进程之间的同步通信是不可能的