跳轉連結如果添加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;
}
});