ページが iframe 内にある場合、Internet Explorer で奇妙な動作が発生します。URL のハッシュのみが変更されているはずですが、window.history.back() を呼び出すと iframe が再読み込みされるようです。ページが iframe 内にない場合、ページは適切に動作し、ページをリロードしません。なぜこれが起こっているのか、それを防ぐ方法はありますか?
IE9 でこれを示すフィドルを作成しました。
jsfiddle は iframe を使用するため、動作は iframe の動作になります。「#foo」と「#bar」をクリックすると、URL のハッシュが変更されます。「戻る」リンクをクリックすると、window.history.back() がトリガーされます。これを行うとタイムスタンプが変更され、ページがリロード中であることがわかります。
または、iframe を直接ロードする場合:
http://fiddle.jshell.net/peh96/5/show/
[戻る] をクリックしてもタイムスタンプが変わらないことに気付くでしょう。
Chrome と Firefox は iframe 内にあるかどうかに関係なく一貫しているため、これは IE のみの問題です。
このリロードを防ぐ方法はありますか?