これはクレイジーに思えます。私は何かが欠けているに違いない。Android ブラウザー (ICS、4.0.3) でロケーション フラグメントを設定すると、ロケーション バーが更新されず、新しいフラグメントが表示されません。window.location
、window.location.hash
、または単純な古い の設定に関係なく、等しく失敗するよう<a href="#foo">
です。ブラウザは実際に目的のフラグメントに移動し、更新時に、ロケーション バーに期待どおりのフラグメントが含まれます。そして戻るボタンが効く!唯一の問題は、ロケーション バーに表示されるアドレスが新しいロケーション + フラグメントをすぐに反映する必要があることですが、そうではありません。
Google Closure goog.History demo pageで良い例を見ることができます。