加载图像制作用的UIWebView一个应用程序,它打开网页与相对协议样式&图像,诸如
<img src="//example.com/image.png">
(为http或https例子)。UIWebView中不从相对协议网址通过您的自定义
NSURLConnection
,this way覆盖页面加载过程。
结果:它不会显示图像!虽然,Safari和其他浏览器正确显示它们...
加载图像制作用的UIWebView一个应用程序,它打开网页与相对协议样式&图像,诸如<img src="//example.com/image.png">
(为http或https例子)。UIWebView中不从相对协议网址
通过您的自定义NSURLConnection
,this way覆盖页面加载过程。
结果:它不会显示图像!虽然,Safari和其他浏览器正确显示它们...
我检查了在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
的“基本”方案,并给出了该方案的假冒方案。所以......问题就在这里:
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
[m_webView loadData:webdata
MIMEType:@"text/html"
textEncodingName:@"UTF-8"
baseURL:nil]; /// WTF!
}
解决方法:启动请求时的初始URL只保存一些m_currentPageUrl
,然后把它传递给它的意思是。 :)