2016-03-01 3 views
5

У меня есть WKWebView, на котором загружается локальный файл html с именем «start.html». Внутри этого файла я загружаю другой локальный документ в iframe.WKWebView локальный файл в iframe

Но мне не разрешено использовать js из start.html для содержимого iframe, а содержимое iframe не разрешено загружать js-файл.

Перед WKWebView Я использовать UIWebView но я вынужден мигрировать, чтобы улучшить производительность

В UIWebView я никогда не имел никаких проблем с безопасностью crossdomain.

Когда я добавить атрибут sandbox='allow-same-origin' на IFRAME, я могу успешно выполнить код JS из Start.html как этого

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

но 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. Есть ли решение разрешить js-код и HTTP-запросы внутри iframe?

+0

Вы поняли это? – Pier

+0

@Khorwin, не могли бы вы найти решение? –

ответ

1

WKWebView разрешено читать только локальный контент, хранящийся в каталоге, предоставленном NSTemporaryDirectory().

Для получения более подробной информации, пожалуйста, см. Мой ответ here.