我有一个webview,我限制在特定的域名,因此用户不会尝试从那里到其他域。
我的一个片段从一个域加载网址,并且在点击网站上的按钮时需要转移到其他网域。 所以我试图提出允许这个的逻辑:
public class MyWebViewClient extends WebViewClient {
private String firstUrl, secondUrl;
public MyWebViewClient(String firstUrl, String secondUrl) {
this.firstUrl = firstUrl;
this.secondUrl = secondUrl;
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.contains(firstUrl) == true && url.contains(secondUrl) == true) {
view.loadUrl(url);
}
return true;
}
}
哪个无法正常工作,网站正常加载,但在尝试按下第二个已批准网址的链接时,它只是没有加载...
任何解决方案/想法? 感谢
答案 0 :(得分:0)
在if statment if (url.contains(firstUrl) == true && url.contains(secondUrl) == true)
中,您正在检查网址是否同时属于这两个域,这是不可能的。您也总是返回true
,因此WebView将覆盖网址加载
以下是shouldOverrideUrlLoading
必须如何显示的内容:
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.contains(firstUrl) || url.contains(secondUrl)) {
return false;
}
return true;
}
希望它有所帮助!