在 WKWebView 的 iframe 中评估 JavaScript?

evaluateJavaScript in a WKWebView's iframe?

我已成功设置 WKWebView ScriptMessageHandler 以从我的 webview 中接收消息。然后我使用 evaluateJavaScript 将响应发送回网络视图。当一切都在视图的主框架上执行时,这工作正常。

但是,当我尝试在 iFrame 中执行此操作时,我 运行 遇到了困难。我仍然在消息处理程序中收到消息(用 WKFrameInfo 告诉我它来自哪里)但是我找不到任何方法来 运行 evalateJavaScript 瞄准那个框架。我 可以 在我评估的 JavaScript 中使用 window.frames hack,但如果 iFrame 与父框架的来源不同,那么我将 运行进入跨域错误。

有什么方法可以识别WKWebview中的框架,并在其上评估JS吗?

三年后:iOS14人支持。

https://developer.apple.com/documentation/webkit/wkwebview/3656442-evaluatejavascript