0%

Android开发 WebView新窗口中打开链接

需求:识别链接,如果target=”_blank”,则调用系统浏览器打开该链接.WebView默认没有提供该功能,而WebViewClient里的shouldOverrideUrlLoading方法可以取得URL,再根据URL作相应的处理。 所以,我们的思路是:用JS修改带target=”_blank”的链接,使其URL个性化,比如加个前缀什么的, 在shouldOverrideUrlLoading方法中判断前缀,再处理.

wv_content.getSettings().setJavaScriptEnabled(true);
wv_content.setWebViewClient(new WebViewClient() {
                        //载入页面结束后,加载js,修改链接
            @Override
            public void onPageFinished(WebView view, String url) {
                view.loadUrl("javascript: var allLinks = document.getElementsByTagName('a'); if (allLinks) {var i;for (i=0; i