我正在解析RSS提要(以XML格式提供)并将其加载到UIWebView中 - 这非常有效。
问题在于XML中偶尔出现的<img>
标签 - 他们调用的图像没有显示出来(虽然我确实得到了一个占位符边框,它们应该出现在哪里。)
/>
问题是,那些<img>
代码只包含部分路径,没有域名 - 例如:
<img src="/news-media/images/football/6.jpg" />
要解决此问题,我尝试在baseURL
参数中指定默认域名:
NSURL *baseURL = [NSURL fileURLWithPath:@"http://www.myDomain.com"];
[theWebView loadHTMLString:tempHtmlString baseURL:baseURL];
这不起作用 - HTML仍然正常加载,但图像没有显示。然而,这确实消除了我之前在图像上获得的“破碎图像”图标(当网页试图加载丢失的图像时通常会得到的那种图标。)此外,我有时会收到“收到内存警告”消息- 但不总是。加载包含多张照片的页面时似乎会发生这种情况。但即使页面只有一张照片而我没有收到“记忆”警告,照片本身也不会被加载。
任何想法该怎么办?我是否必须手动将基本网址附加到<img>
代码的所有匹配项?
答案 0 :(得分:1)
您正在将基本URL创建为文件URL(即设备上本地文件的URL)。您希望URL引用远程服务器。试试这个:
NSURL *baseURL = [NSURL URLWithString:@"http://www.myDomain.com"];
[theWebView loadHTMLString:tempHtmlString baseURL:baseURL];