【问题标题】:WebView open target_blank in browserWebView 在浏览器中打开 target_blank
【发布时间】:2016-12-29 10:15:32
【问题描述】:

我想让我的 web 视图在外部浏览器而不是 webView 中打开 target="_blank" 链接。我尝试了以下代码但没有用。

        webview.getSettings().setJavaScriptEnabled(true);
    webview.getSettings().setSupportMultipleWindows(true);

    webview.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;
        }
    });
    webview.loadUrl("http://reliantfever735.comli.com/cricket.html");



}

附言- 我是新人,所以不要对我进阶

【问题讨论】:

    标签: android


    【解决方案1】:

    我们为此使用意图。请记住,您总是必须解析字符串 url 。这是一个sn-p。

    webView.setWebViewClient(new WebViewClient(){
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url != null && url.startsWith("http://")) {
            view.getContext().startActivity(
                new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
                return true;
            } else {
                return false;
            }
        }
    });
    

    如果你想了解更多,这里有一个深入的解释 WebView link click open default browser

    【讨论】:

    • 使用 setSupportMultipleWindows(true);对我不起作用。我不得不删除它。
    猜你喜欢
    • 1970-01-01
    • 2011-07-30
    • 2013-02-05
    • 1970-01-01
    • 2012-10-30
    • 1970-01-01
    • 1970-01-01
    • 2014-06-07
    • 2016-03-28
    相关资源
    最近更新 更多