webview 實現可控跳轉

webview 實現可控跳轉。

經常要實現webview的指定跳轉,現總結以下,有什麼不對的地方還請指教。

主要實現思路如下:

1 根據webview 的特性,每一個webview都會把以前的瀏覽歷史記錄到一個歷史記錄裏面。

2 用一個循環遍歷,找到需要的跳轉的地方

3 利用webview的方法直接跳轉到目標頁。

下面是一個例子:



if(appView.getUrl().contains("跳轉前的網址")){
while (!appView.getUrl().contains(“需要跳轉的網址”)) {
// backForwardList 存放webview的歷史記錄
WebBackForwardList backForwardList = appView.copyBackForwardList();
int steps = 0;

for (int i = backForwardList.getCurrentIndex(); i > 0; i--) {
if (null != backForwardList.getItemAtIndex(i)) {
String string1 = backForwardList.getItemAtIndex(i).getUrl();
if (string1.contains(“需要跳轉的網址”)) {
break;
} else {
steps--;
}
}
}
// 返回多少步
appView.goBackOrForward(steps);
break;
}
}

注 :1  匹配網址最好用正則表達式
    2  這種方法除非項目要求,儘量少用,用多了可能會導致webview跳轉混亂 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章