在 WKWebView 的 iframe 中评估 JavaScript?

Posted

技术标签:

【中文标题】在 WKWebView 的 iframe 中评估 JavaScript?【英文标题】:evaluateJavaScript in a WKWebView's iframe? 【发布时间】:2017-02-16 19:45:27 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

三年后:ios 14 将支持这一点。

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

【讨论】:

以上是关于在 WKWebView 的 iframe 中评估 JavaScript?的主要内容,如果未能解决你的问题,请参考以下文章

iframe 未在 WKWebview 中加载

如何从 WKWebView 打印特定的 iFrame

如何在 iOS 中使用 WKWebView 将值动态传递到 iFrame

通过在 WKWebView 中评估 JavaScript 来获取 HTML

WKwebview中iframe的本地存储未持久化

如何将 iFrame 的高度和宽度设置为与 WKWebView 框架相同?