これを何と呼ぶかはよくわかりませんが、これが私の抽象化された問題です。
前後に移動するとき、なぜ一部のブラウザは何が開いているかを覚えておらず、他のブラウザは覚えているのでしょうか。
例えば、
次の場合:
html
<h2>» <a href="#" id="clickMe">Click Me</a></h2>
<div id="hiddenContent">
<h2> Meaty Filler </h2>
<p>
Bacon ipsum dolor sit amet deserunt venison dolor meatball laboris short loin dolore capicola prosciutto. Tongue cillum salami, drumstick strip steak do spare ribs ball tip proident short loin ullamco ex tempor. Fugiat labore in ut quis ribeye turducken pig beef. Corned beef ham proident, nisi adipisicing bresaola irure kielbasa pig. T-bone nisi ham hock consequat laborum est exercitation dolor shoulder biltong velit qui sunt. Ut chuck esse short ribs turducken, pork loin id.
</p>
<p>
Nulla sunt aute meatloaf drumstick pork. Drumstick deserunt capicola aliqua flank leberkas brisket consectetur. Pork belly meatloaf proident, deserunt tri-tip voluptate aliqua. Commodo minim consequat, shoulder tenderloin eiusmod laborum excepteur flank reprehenderit in.
</p>
» <a href="http://baconipsum.com/"> Get Me Some Bacon</a>
</div>
javascript / jquery
$('#clickMe').click(function(e) {
e.preventDefault();
$('#hiddenContent').fadeToggle();
})
css
#hiddenContent {display: none; border: 1px solid #ccc; background: #fcfcfc; padding: 1em; margin: 2em; border-radius: .25em; box-shadow: 2px 5px 10px #DBDBDB;}
#hiddenContent:hover { background: #FBFBFB; }
h2 { font: 1.5em/1.75em Georgia, serif; }
p { margin: 0 0 1em; font: 1em/1.25em Georgia, serif; text-align: justify; }
a { color: #444; text-decoration: none;}
a:hover { text-decoration: underline; color: #222; }
「GetMeSomeBacon」をクリックして戻るボタンを押すと、クロムとIE8はそれ#hiddenContent
が開いていて非表示ではなくなったことを記憶しませんが、Firefoxは記憶します。理想的には、Firefoxの動作を模倣したいのですが、それができるかどうかはわかりません。これは可能ですか?
これは動作していないjsfiddleです。jsfiddleは、ヒットバック時にページを明示的にリロードするため機能しませんが、私の(struts --javaベースの)Webアプリケーションでは、応答を明示的にキャッシュするように設定しました。