Ajax でキャッシュさせない方法
先日エントリーした、「Ajax によるモジュール化」で「Ajax を利用した時にキャッシュから取得しないようにしています」と書きましたが、最初にみつけた参考サイトが見つかりました。
他にも、キャッシュの問題回避について、結構情報ありました。
- How to stop IE from caching AJAX requests
- via:PHPプロ!ニュース:IEでAjaxリクエストをキャッシュさせない方法
- msanolog:XMLHttpRequest と If-Modified-Since
- 同:If-Modified-Sinceヘッダを利用してWebページのキャッシュを行うXMLHttpRequestラッパー
- 実践Web2.0 Ajax プログラミング入門:キャッシュされないようにしよう
まとめると、
- POSTメソッドを用いる
- ランダムなクエリーを与える
- If-Modified-Sinceヘッダを用いる
の3パターンのようです。
クエリーにはタイムスタンプがいいみたいですね。
- iPhoneで通信量を調べる方法
- Ajaxによるモジュール化(jQuery版)
- Movable Type 4.2 における mt.js の変更点(その1:Ajax 対応と window.onload の代替スクリプト)
- Ajax によるモジュール化
- Safari の Ajax 文字化け対処
- 複数ブログで Ajax 月送りカレンダーを利用する方法
- はてなブックマークの「人気エントリー/注目エントリー」を Ajax + Perl でブログに表示する
- BlogPeople 等のリンクリストによる表示の遅延を解消する(その2:Ajax編)
以前、サイドメニューの折りたたみとツリー化のカスタマイズを当サイトで使用してもいいかというコメントをしたものです。
その節は許可を頂きありがとうございました。
度々こちらで勉強させていただいております。(MT運用してませんが;)
本題ですが、当サイトで使用させていただいている折りたたみスクリプトですが、Googleなどの検索結果にサイドメニューの単語がヒットしてしまい困っていました。
なんとか外部ファイルを読み込む方法でうまいものは無いかと考えていたところ、「サイドメニューをAjaxでモジュール化する」という記事を見つけ、試してみました。
現在、ローカルサイトで試験を行っていますが、こちらの関連記事や他のサイトを参考にしても、どうしても最新のprototype.jsではIEのキャッシュで表示できない件が解決できません。
そこで、失礼ではありますが小粋空間さんで使用しているprototype.jsに差し替えたところ、IEで正常に機能しました。
正常に機能さえしてくれれば問題は無いので当方は小粋空間さんの使用しているスクリプトで利用していくつもりです。
そちらで問題があれば返信してください。
一応、ご報告までに。
>オンチ映画祭さん
こんばんは。
ご連絡ありがとうございました。
特に問題ありません。
私が使っているのはかなり古いバージョンでしたね。
ではでは。