webview 实现可控跳转

来源:互联网 发布:杜汶泽现状2017知乎 编辑:程序博客网 时间:2024/06/05 12:02
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跳转混乱 
原创粉丝点击