UIWebView 不从协议相对 URL 加载图像
Posted
技术标签:
【中文标题】UIWebView 不从协议相对 URL 加载图像【英文标题】:UIWebView doesn't load images from protocol-relative URL 【发布时间】:2015-12-22 04:02:53 【问题描述】:使用 UIWebView 制作一个应用程序,该应用程序打开一个带有协议相关样式和图像的网页,例如 <img src="//example.com/image.png">
(http 或 https 的示例)。
通过您的自定义NSURLConnection
、this way 覆盖页面加载过程。
结果:它不会显示图像!不过,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
,然后将其传递到它应该在的位置。 :)
【讨论】:
以上是关于UIWebView 不从协议相对 URL 加载图像的主要内容,如果未能解决你的问题,请参考以下文章
离子不从 url wp-json 和 ionic4 加载图像
angular 2组件无法从外部css皮肤加载相对背景图像url