2016-03-01 66 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