Контент iframe из внешнего источника не загружается в локальный HTML-файл на iOS - PullRequest
0 голосов
/ 09 апреля 2019

Я создал локальный HTML-файл в своем приложении для iOS, написанный на swift. Файл HTML загружается в WKWebView следующим образом:

let url = Bundle(identifier: myIdentifier).url(forResource: "localHtmlFile", withExtension: "html")
let htmlFormatString = try String(contentsOf: url)
loadHTMLString(string: htmlFormatString, baseURL: nil)

HTML-страница содержит iframe, который я ожидаю загрузить внешнюю страницу:

<div>Test</div>
<iframe src="https://www.somepage.com"></iframe>

Локальный HTML-файл успешно загружен, так как я вижу текст Test в div. Iframe также создан, но пуст. Если я отлаживаю с помощью Safari Developer Tools, там просто пустая HTML-страница, но ничего не загружается. Кроме того, сетевой запрос к URL не выполняется вообще.

Но если я вставлю внешний файл JavaScript с <script src="https://url-to-some-js">, код JS будет успешно загружен, поэтому проблем с сетью не возникнет. Кроме того, если я загружаю URL-адрес напрямую с помощью webView.load(URLRequest(url: url)), он работает нормально. Только внутри фрейма он не работает.

Как создать фреймы для внешних ресурсов, работающих в iOS WKWebView? Это вообще заблокировано iOS или мне нужно настроить что-то еще?

...