我的应用程序将网站的 url 加载到 android webview 中。该网站由 3 个页面组成(实际上是同一页面,但 ID 不同)我们称它们为 AB 和 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);
有任何想法吗?
谢谢!