【发布时间】:2016-12-01 23:57:14
【问题描述】:
背景
这似乎与许多其他问题重复。相信我,事实并非如此。
我正在尝试将 html 数据加载到 WebView 中,以便能够捕获用户超链接请求。在此过程中,我发现 this answer 完全符合我的要求,除了它捕获对 CSS 文件和图像之类的其他请求:
// you tell the webclient you want to catch when a url is about to load
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request){
return true;
}
// here you execute an action when the URL you want is about to load
@Override
public void onLoadResource(WebView view, String url){
if( url.equals("http://cnn.com") ){
// do whatever you want
}
}
我已关闭自动图像加载、网络加载和 Javascript 执行:
settings.setBlockNetworkLoads(true);
settings.setBlockNetworkImage(true);
settings.setJavaScriptEnabled(false);
但是这些对于阻止捕获这些请求没有任何作用。
也许有一个不同的过程来捕获链接点击,但要么是这样,要么是为了停止加载外部资源。
问题
如何防止WebView 捕获(或尝试加载)资源请求,例如 CSS、JS 或图像?
否则,如果我无法阻止捕获或尝试加载,我如何区分点击的链接和网络资源?
先谢谢了!
【问题讨论】:
标签: javascript android html css webview