UIWebView не загружает изображения из URL, относящегося к протоколу
Создайте приложение с UIWebView, которое откроет веб-страницу со стилями и изображениями, связанными с протоколом, такими как
<img src="//example.com/image.png">
(примеры для http или https).Переопределить процесс загрузки страницы через ваш пользовательский
NSURLConnection
вот так.
Результат: изображения не будут отображаться! Хотя Safari и другие браузеры показывают их правильно...
1 ответ
Я проверил страницу, открытую в WebView, и увидел там странные запросы. Они выглядели как обычные URL-адреса, но со схемой applewebdata, например applewebdata://art-u1.infcdn.net/articles_uploads/2/2586/thumb/3Dtouch%20Main-665x.png
, Ура! Он не знает "базовую" схему для относительного URL //art-u1.infcdn.net/articles_uploads/2/2586/thumb/3Dtouch%20Main-665x.png
и дает это, что фальшивая схема Apple. Итак... проблема здесь:
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
[m_webView loadData:webdata
MIMEType:@"text/html"
textEncodingName:@"UTF-8"
baseURL:nil]; /// WTF!
}
Решение: просто сохраните исходный URL-адрес m_currentPageUrl
при запуске запроса, а затем передать его туда, где он должен быть.:)