在WKWebView中,我们可以使用webkit消息处理程序调用ObjectiveC / Swift代码webkit.messageHandlers.<handler>.pushMessage(message).
这也适用于IFrame。
有没有办法通过调用IFrame来回应这个?
目前,evaluateJavaScript:
API仅支持与主框架的通信。
答案 0 :(得分:2)
您需要的是到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
希望这有帮助
答案 1 :(得分:2)
这是一个真正优秀的Javascript桥库(它支持UIWebview
和WKWebview
):https://github.com/marcuswestin/WebViewJavascriptBridge
该桥可用于原生JS 或 JS原生通信。他们做得相当不错,你应该看看它。
在网络方面,你必须添加一些JavaScript代码,以便在HTML端提供桥接,他们的文档显示要添加的setupWebViewJavascriptBridge
方法(阅读他们自述文件的Usage部分)。
最后,您可以直接在页面中添加此代码,或使用evaluateJavaScript
答案 2 :(得分:0)
两个不同进程之间的同步通信是not possible