Android - 使用外部浏览器在 WebView 中打开目标 _blank 链接

2024-04-07

我建立一个WebView显示一个网站。该网站包含无链接的链接target="_blank"属性和一些带有它的。

我需要打开链接target在外部标准设备浏览器中定义的以及在 WebView 内部没有定义的。

我正在使用一个WebViewClient我尝试了这个功能,但我的所有链接仍然在WebView:

替代方案 1:

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {

    return super.shouldOverrideUrlLoading(view, url);        
}

替代方案 2:

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {

    view.loadUrl(url);
    return true;        
}

有人知道如何从外部打开空白链接吗?

Thanks!

PS:为了避免误解:我不能使用这种方法 https://stackoverflow.com/q/17994750/1331671因为我知道链接应该从外部打开的唯一方法是target属性。


访问上述链接后,我想出了这段代码,希望这会有所帮助。

wv.getSettings().setSupportMultipleWindows(true);
wv.setWebChromeClient(new WebChromeClient() {
    @Override
    public boolean onCreateWindow(WebView view, boolean dialog, boolean userGesture, android.os.Message resultMsg)
    {
        WebView.HitTestResult result = view.getHitTestResult();
        String data = result.getExtra();
        Context context = view.getContext();
        Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(data));
        context.startActivity(browserIntent);
        return false;
    }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android - 使用外部浏览器在 WebView 中打开目标 _blank 链接 的相关文章