webview onCreateWindow url 新標籤的開啟 target="_blank"
阿新 • • 發佈:2019-01-10
擷取所有的a標籤帶 target=”_blank”執行跳轉新的頁面
1 給webView設定webSettings.setSupportMultipleWindows(true);支援開啟多視窗
2WebView.setWebViewClient(new WebViewClient() {
…重寫的其他方法
下面這個是關鍵,當發現有target=”_blank”會自動呼叫該方法
@Override
public boolean onCreateWindow(WebView view, boolean dialog, boolean userGesture, Message resultMsg) {
//
WebView newWebView = new WebView(view.getContext());
newWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//獲取要跳轉的Url 在這裡處理你要做的操作,在這裡我是跳轉了一個類
Intent intent = new Intent(view.getContext(),MainActivity.class); intent.putExtra("url",url); view.getContext().startActivity(intent); return true; } }); WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj; transport.setWebView(newWebView); resultMsg.sendToTarget(); return true; }
})