在Android中阻止Webview的特定内容

时间:2012-06-18 13:54:39

标签: javascript android webview browser

我知道这个问题已被问过好几次但是还没有明确的答案我还没有。请用你的想法启发我。

要求: - 应用程序是一种浏览器,其中只允许查看和访问“列入白名单”的URL。例如,Yahoo.com在白名单中,但Youtube不在白名单中。雅虎可能在其网页上嵌入了Youtube视频。在这种情况下,我希望我的浏览器根本不显示嵌入式视频,即阻止部分Webview。

调查结果: -

1)有两种方法,一种是shouldOverrideUrlLoading()我们可以覆盖并决定是否打开一个链接。第二个是shouldInterceptRequest() [3.0以上]我们可以覆盖和更改页面的内容,例如给定的here。但它对修改网页的各个内容没有用。 onLoadResource()是为每个加载的资源调用的方法,但我们无法覆盖它以显示自定义内容。如果我们可以更改正在加载的内容,那么类似于onLoadResource的东西将是一个完美的解决方案。 (可能的安全问题)

2)改变HTML内容: - 我们使用HTTPClient下载页面内容然后在Webview中加载它的方式很少,例如here。这里的方法可能是改变HTML以用一些“Site Blocked”消息替换被阻止的内容。这里的问题是该方法是否完全证明。 javascript会有任何问题吗。

3)使用Javascript修改页面内容。 (任何例子?)我见过this。是否有更多此类示例,我可以参考说明替换/删除包含黑名单URL的标签

4)不可能做我要问的事。

0 个答案:

没有答案