テスト シナリオでは、pageA と pageB の 2 つのページがあります。
最初のステップでは、ボタンがwindow.history.pushState
呼び出しをトリガーし、アドレスバーに pageB のアドレスが表示されます。
2 番目のステップでは、ブラウザのアドレス バーを使用して pageB をリクエストします。ブラウザーは pageB のコンテンツをレンダリングします。アドレスバーには pageB のアドレスが表示されます。
最後のステップでは、ブラウザの戻るボタンを使用してページ A に戻ります。アドレスバーには pageA のアドレスが表示されます。ただし、ブラウザには、ページ A のコンテンツが表示されると予想していたページ B のコンテンツが表示されます。
私は何か間違ったことをしていることを知っています。私でさえ、この振る舞いを説明する方法がわかりません。何か提案はありますか?
ここでは、jsFiddle でデモを見つけることができます: http://jsfiddle.net/HqECT/3/show/
実装が表示される場合があります: http://jsfiddle.net/HqECT/3/
注: テストは Chrome v30.0.1599.101 で実行されます