我的应用程序将网站的网址加载到android webview中。 这个网站由3个页面组成(实际上它是同一个页面,具有不同的ID) 我们称之为A B& C。 该网站有一个后退按钮,代码为:
javascript:history.go(-1)
如果我从A浏览到B并按下后退按钮 - 它可以正常工作。
如果我从B浏览到C并按下后退按钮 - 我会回到B - 也没关系。
如果我按下后退按钮,我会回到C而不是到A - 不是很好 然后,如果我按回去,我会回到B ...再回到C ...然后回到B ...无休止地,我从未到过A。
如果我使用设备的物理背面并使用以下内容,它将按预期工作:
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
webView.goBack();
return true;
}
额外信息: 我正在使用WebViewClient,覆盖“shouldOverrideUrlLoading”并启用javascript:
webView.getSettings().setJavaScriptEnabled(true);
有什么想法吗?
谢谢!
答案 0 :(得分:0)
我写这样的代码
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("tel:") || url.startsWith("mailto:")) {
return true;
}
if (mOnWebViewEventListener != null) {
mOnWebViewEventListener.onWebViewPageStart(view);
}
if (mShowProgress) {
mProgressBar.show();
}
return false;
}
它的工作与否?