如何阻止在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。