2016-03-01 86 views
5

我有一个WKWebView,它加载了一个名为'start.html'的本地html文件。 在这个文件中,我加载了iframe中的其他本地文档。iframe中的WKWebView本地文件

但我不允许从iframe内容和iframe内容的start.html中使用js来加载js文件。

WKWebView之前我一直使用的UIWebView但我被迫迁移,以提高性能

在一个UIWebView我从来没有与跨域安全的任何问题。

,当我在iframe中添加属性sandbox='allow-same-origin',我可以成功地从执行的start.html js代码里面一样的iframe(iframe中加载的文件是一个js播放器)是这个

$("#frame")[0].contentWindow.document.getElementsByClassName('password_field')[0].value = password_field 

但JS代码和HTTP请求不允许运行,我得到这些错误:

Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match. 

UIWebVIew和WKWebView有什么区别。 有没有一种解决方案,以允许iframe内的js代码和http请求?

+0

你知道吗? – Pier

+0

@Khorwin,你能找到解决方案吗? –

回答

1

WKWebView只允许读取存储在NSTemporaryDirectory()提供的目录中的本地内容。

有关更多详细信息,请参阅我的回答here