小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

ブラウザ(IE)のキャッシュと 戻るボタン

たとえば、ネットで『Meta キャッシュさせない』で検索する以下のサンプルが沢山出てきます。

<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="-1">

確かに、このタグを入れると次回アクセスする時はサーバーにアクセスに行きます。
しかし、キャッシュはされているみたいなのです。
その証拠に戻るボタンでは、このタグ入れたページが表示されます。
つまり、ブラウザのどこかにキャッシュされいるわけです。



私がテストした限りでは、キャッシュさせないことは出来ないみたいです(戻るボタンで戻れてしまう)。*1

そこで、キャッシュされたページを上書きしてしまえば、戻るボタンでも戻れなくなると考えたら、その通りになりました。*2

とりあえず、『戻るボタンで戻れないページ』サンプル

<html> 
<head> 
<title>戻るボタンで戻れないページ</title> 
</head> 
<body>
<h1>戻るボタンで戻れないページ</h1>
<p><a href="javascript:void(0)" onclick="location.replace('http://www.yahoo.co.jp'); return false;">Yahoo</a></p>
</body> 
</html> 

このページを表示させた後、リンクでYahooに飛んだ後、戻るボタンでは、このページに戻れません。


ちなみに、javascript:void(0) と return false; は以下を参照してね。

*1:ただし、HTTP応答ヘッダ Cache-Control: no-cache では、キャッシュされてない。通りすがりさんコメントを参照のこと

*2:これは、キャッシュを上書きしているのではなく、履歴を上書きしている。通りすがりさんコメントを参照のこと