2016-03-01 27 views
5

Mam WKWebView, którego obciążenie lokalnego pliku html o nazwie "start.html". Wewnątrz tego pliku ładuję inny dokument lokalny w elemencie iframe.Lokalny plik WKWebView w iframe

Ale nie wolno mi używać js z pliku start.html w treści iframe, a zawartość iframe nie pozwala załadować pliku js.

Przed WKWebView Mam użycia UIWebView, ale jestem zmuszony do migracji w celu poprawy wydajności

W UIWebView nigdy nie miałem żadnych problemów z bezpieczeństwem crossdomain.

kiedy dodać atrybut sandbox='allow-same-origin' na iframe, mogę z powodzeniem wykonać kod js z plik -start.html jak tego

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

ale js kodowych i HTTP żądań wewnątrz iframe (iframe załadowany plik jest graczem js) jest nie wolno biegać, ja dostać tezy błędy:

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

Jaka jest różnica między UIWebView i WKWebView. Czy istnieje rozwiązanie pozwalające zezwolić na kodowanie js i żądania http wewnątrz elementu iframe?

+0

Czy to wymyśliłeś? – Pier

+0

@Khorwin, czy możesz znaleźć rozwiązanie? –

Odpowiedz

1

WKWebView wolno tylko odczytać lokalne treści przechowywane w katalogu dostarczonym przez NSTemporaryDirectory().

Proszę zobaczyć moją odpowiedź here po więcej szczegółów.