加載圖像製作用的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
,然後把它傳遞給它的意思是。 :)