我正在尝试制作一个小广告块Android应用,可以拒绝从预定义(拒绝)域获取webview内容的资源。
主要是拒绝.js请求不向网站加载广告
@Override
public WebResourceResponse shouldInterceptRequest (final WebView view, WebResourceRequest request) {
if (url.contains("www.example.com")) {
return false; // want to block loading resource from this domain
}
}
我找到了一些例子,但我仍然没有解决。请帮我。谢谢。
答案 0 :(得分:0)
@Override
public WebResourceResponse shouldInterceptRequest (final WebView view, WebResourceRequest request) {
if (url.contains("www.example.com")) {
return new WebResourceResponse("text/javascript", "UTF-8", null);
}
}
您也可以按照以下代码
public class MyWebViewClient extends WebViewClient {
public boolean shouldOverrideUrlLoading (WebView view, String url) {
if (Uri.parse(url).getHost().equals("http://Your_website_url")) {
// This is my web site, so do not override; let my WebView load the page
return false;
}
// reject anything other
return true;
}
}
mWebview.setWebViewClient(new MyWebViewClient()); //set the webviewClient
当新的URL即将加载到当前的WebView中时,让主机应用程序有机会接管控件。如果提供了WebViewClient,则返回true表示主机应用程序处理url,而return false表示当前的WebView处理网址。