如何阻止在UIWebView iOS中加载图像?

我想使用UIWebView来加载url,但不要在网页中加载图像。我想UIWebView只是在网页上显示纯文本。

谢谢。

你最好的select是为webView设置一个委托并实现委托方法:

  • webView的:shouldStartLoadWithRequest:navigationType:

根据页面的构build方式,您可以获取图像何时加载的通知,并返回NO以停止加载该资源的webView。

编辑:

如果你没有在xib中设置你的web视图的委托,那么在setup的某个时刻:

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的东西都会被跳过。

这很大程度上取决于您正在加载的页面的结构。 对于更复杂的页面,可能没有特定图像的callback。

如果您知道您正在尝试加载的页面的结构,它会有很大的帮助。

您也可以使用Safari来检查页面的代码,以确定内容。 此外,在shouldStartLoadWithRequest委托方法的开始处设置一个断点,可以让您准确地看到哪些请求经过,您可以使用它来硬编码您希望webview忽略加载的string。