我检查了在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!
}
m_currentPageUrl
中,然后将其传递到目标位置即可。 :)