从WebView中的页面在外部浏览器中打开链接

时间:2019-10-13 06:14:16

标签: javascript angular android-webview

我正在开发一个有角度的网站,该网站从WebView加载到应用程序中,并且其中只有一个链接必须在应用程序外部(外部浏览器)打开

我需要一种从JavaScript处理此问题的方法,而不是将多余的工作放在android方面。 而且我已经尝试了一些方法,包括:

window.open("url","_system")

(navigator as any).app.loadUrl("http://google.com", {openExternal : true});

1 个答案:

答案 0 :(得分:0)

嗯,没有这样的东西

相反,必须从android应用程序代码处理它。您可以在需要在外部浏览器中打开该网址时向其添加参数(此处为external=true),然后在加载的Webview网址中检查该参数,如下所示:

        webView.setWebViewClient(new WebViewClient(){
            @RequiresApi(api = Build.VERSION_CODES.N)
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
                if((String.valueOf(request.getUrl())).contains("external=true")) {
                    Intent intent = new Intent(Intent.ACTION_VIEW, request.getUrl());
                    view.getContext().startActivity(intent);
                    return true;
                } else {
                    view.loadUrl(String.valueOf(request.getUrl()));
                }

                return true;
            }
        });