Android Webview点击target=_blank无反

2017-09-21  本文已影响805人  走在冷风中吧

跳转链接如果添加target=_blank会回调WebChromeClient的onCreateWindow方法, 需要进行适配,如下:

  mWebView.setWebChromeClient(new WebChromeClient() {
         @Override
         public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) {
                WebView newWebView = new WebView(view.getContext());
                newWebView.setWebViewClient(new WebViewClient() {
                    @Override
                    public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    // 在此处进行跳转URL的处理, 一般情况下_black需要重新打开一个页面, 这里我直接让当前的webview重新load了url
                        mWebView.loadUrl(url);
                        return true;
                    }

                });
                WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
                transport.setWebView(newWebView);
                resultMsg.sendToTarget();
                return true;
            }
        });
上一篇下一篇

猜你喜欢

热点阅读