我有一个WKWebView,它加载一个名为"start.html"的本地html文件。在这个文件中,我在 iframe 中加载了另一个本地文档。
但是我不允许从一开始就使用 js.html在 iframe 内容和 iframe 内容不允许加载 js 文件。
在WKWebView之前,我使用过UIWebView,但我被迫迁移以提高性能
在UIWebView中,我从来没有遇到过跨域安全性的任何问题。
当我在 iframe 上添加属性sandbox='allow-same-origin'
时,我可以从头开始成功执行 js 代码.html像这样
$("#frame")[0].contentWindow.document.getElementsByClassName('password_field')[0].value = password_field
但是 iframe 中的 js 代码和 http 请求(iframe 中加载的文件是 js 播放器)不允许运行,我收到以下错误:
Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.
UIWebVIew和WKWebView有什么区别。有没有解决方案可以在 iframe 中允许 js 代码和 http 请求?
WKWebView
只允许读取存储在 NSTemporaryDirectory()
提供的目录中的本地内容。
有关更多详细信息,请参阅我的回答 这里.