2019年5月20日 星期一

Android webView 重載與新開頁面

目的:
點擊 webView 按鈕時,由網頁標籤決定是不是新開頁面。


實作:

因為實作 WebViewClient 所以 webView 的點擊事件都只會 reload,本來想可以從 shouldOverrideUrlLoading 拿到新的 url 去判斷要 reload 或是新開頁面,但現實是網頁的點擊事件的 url 沒有辨識度,必須捕捉網頁 target="_blank 標籤來判斷,找了許久資料,最後發現必須實作 WebChromeClient 並重寫 onCreateWindow,裡頭的

WebView.HitTestResult result = view.getHitTestResult();
String url = result.getExtra();
就是拿到我的需要的 url 了~ 

好棒棒~




沒有留言:

張貼留言