如何对付重定向锁定网页
我在做项目的时候遇到一个问题,有一个淘宝店铺链接,当webview加载时,这个页面shouldurl函数会显示跳转到一个别的链接,当我点击手机的back键时,需要连续按2次才可以推出这个应用,请问解决办法
// 判断是否可以返回操作
if (webview.canGoBack() && event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
// 获取历史列表
WebBackForwardList mWebBackForwardList = webview
.copyBackForwardList();
// 判断当前历史列表是否最顶端,其实canGoBack已经判断过
if (mWebBackForwardList.getCurrentIndex() > 0) {
// 获取历史列表
String historyUrl = mWebBackForwardList.getItemAtIndex(
mWebBackForwardList.getCurrentIndex() - 1).getUrl();
Log.e("test", historyUrl + "---------------历史记录");
// 按照自己规则检查是否为可跳转地址
// 注意:这里可以根据自己逻辑循环判断,拿到可以跳转的那一个然后webView.goBackOrForward(steps)
if (!historyUrl.contains("wwew")) {
// 执行跳转逻辑
webview.goBack();
return true;
} else {
// finish();
Log.e("test", "执行");
// alertDialog.show();
}
}
此为关键性代码
// 判断是否可以返回操作
if (webview.canGoBack() && event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
// 获取历史列表
WebBackForwardList mWebBackForwardList = webview
.copyBackForwardList();
// 判断当前历史列表是否最顶端,其实canGoBack已经判断过
if (mWebBackForwardList.getCurrentIndex() > 0) {
// 获取历史列表
String historyUrl = mWebBackForwardList.getItemAtIndex(
mWebBackForwardList.getCurrentIndex() - 1).getUrl();
Log.e("test", historyUrl + "---------------历史记录");
// 按照自己规则检查是否为可跳转地址
// 注意:这里可以根据自己逻辑循环判断,拿到可以跳转的那一个然后webView.goBackOrForward(steps)
if (!historyUrl.contains("wwew")) {
// 执行跳转逻辑
webview.goBack();
return true;
} else {
// finish();
Log.e("test", "执行");
// alertDialog.show();
}
}
此为关键性代码
浙公网安备 33010602011771号