私のアプリケーションは、Web サイトの URL を Android WebView に読み込みます。この Web サイトは 3 つのページ (実際には ID が異なる同じページ) で構成されており、AB & C と呼びましょう。Web サイトには戻るボタンがあり、そのコードは次のとおりです。
javascript:history.go(-1)
A から B に移動して戻るボタンを押すと、問題なく動作します。
B から C に移動して戻るボタンを押すと、B に戻りますが、問題ありません。
その後、戻るボタンを押すと、A ではなく C に戻ります。問題ありません。
それから私が戻って押すと、私はBに戻ります...再びCに戻ります...そしてBに...無限に、私はAに到達することはありません.
デバイスの物理的な背面を使用して以下を使用すると、期待どおりに動作します。
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
webView.goBack();
return true;
}
追加情報: WebViewClient を使用しており、「shouldOverrideUrlLoading」をオーバーライドして、javascript を有効にしています。
webView.getSettings().setJavaScriptEnabled(true);
何か案は?
ありがとう!