我想使用UIWebView加载网址,但不要在网页中加载图片。我希望UIWebView只显示网页中的纯文字。
感谢。
答案 0 :(得分:0)
最好的办法是为webView设置一个委托并实现委托方法:
根据页面的构造方式,您可以获得有关图像何时加载的通知,并返回NO以停止webView加载该资源。
编辑:
如果您没有在xib中设置Web视图的委托,那么在设置中的某个时刻:
self.webview.delegate = self;
然后,在您设置为委托的类中,类似于:
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSRange rangeOfPNG = [request.URL.absoluteString rangeOfString:@".png"];
NSRange rangeOfJPG = [request.URL.absoluteString rangeOfString:@".jpg"];
if (rangeOfPNG.location != NSNotFound || rangeOfJPG.location != NSNotFound)
{
return (NO); // Tells the webview to skip loading this part of the page
}
return (YES); // Allows the webview to load everything else
}
所以任何扩展名为.png或.jpg的内容都会被跳过。
这在很大程度上取决于您正在加载的页面的结构。对于更复杂的页面,可能没有针对特定图像的回调。
如果您知道要尝试加载的页面结构,那么它会有很大帮助。
您还可以使用Safari检查页面的代码,以确定其中的内容。此外,在shouldStartLoadWithRequest委托方法的开头设置断点将让您准确查看请求的来源,并且您可以使用它来硬编码您希望webview跳过加载的字符串。