【问题标题】:WebViewClient to allow more then one domainWebViewClient 允许多个域
【发布时间】:2016-09-01 17:38:41
【问题描述】:

我有一个网络视图,我将其限制为特定域,因此用户不会尝试从那里转到其他域。

我的一个片段从一个域加载 url,当单击站点中的按钮时需要转移到另一个域。 所以我试图想出允许这样做的逻辑:

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;

}

}

这不起作用,网站加载正常,但是当尝试按下第二个批准 URL 的链接时,它只是没有加载它...

任何解决方案/想法? 谢谢

【问题讨论】:

    标签: android webview webviewclient


    【解决方案1】:

    在 if 语句 if (url.contains(firstUrl) == true && url.contains(secondUrl) == true) 中,您正在检查 url 是否同时属于两个域,这是不可能的。您也总是返回true,因此 WebView 将覆盖 url 加载

    shouldOverrideUrlLoading 必须如下所示:

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url.contains(firstUrl) || url.contains(secondUrl)) {
            return false;
        }
        return true;
    }
    

    希望对你有帮助!

    【讨论】:

    • 嗨,已经修复了,只是没有更新帖子。很抱歉,谢谢你的回答。
    猜你喜欢
    • 1970-01-01
    • 2017-01-12
    • 2015-01-15
    • 1970-01-01
    • 2020-07-02
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    相关资源
    最近更新 更多