【发布时间】:2011-05-01 11:21:04
【问题描述】:
如何限制 UIWebView 不下载任何类型的图像?
问候, 约翰
【问题讨论】:
-
Html 图像被以下类阻止,但是我们如何限制 css 图像呢? icab.de/blog/2009/08/18/…
如何限制 UIWebView 不下载任何类型的图像?
问候, 约翰
【问题讨论】:
我现在能想到两种方法:
1. NSURLProtocol 子类
子类并注册 NSURLProtocol 以拦截 http 请求,对于以已知图像扩展名结尾的 url,只是不发出请求,只需返回一个空字符串作为正文。这很容易出错,例如:
<img src="http://foobar.com/deliverImage.php?id=400&size=lager" />
对请求图像资源有效,并且 URL 不提示任何内容。您当然可以更进一步下载,或者至少启动请求并拦截收到的标头并检查返回的 mime 类型甚至文件的正文。
2。在渲染之前解析和过滤 html
第二种解决方案更简单一些: 不直接在 webview 中下载 html,而是使用 NSURLConnection 或 ASIHTTPRequest 来获取页面。现在你可以解析它并替换所有img标签的src属性的内容。
这仍然不会阻止使用 css 作为背景加载图像。
【讨论】: