システム開発ブログ

流通システム部

PHP

その他

【PHP】常に最新のJavaScriptファイルを読み込ませる

あるページにアクセスする毎に、
JavaScriptファイルの内容を書き換え、
そのファイルを使用してHTMLを表示する、
というものをPHPで作成しました。

常にJavaScriptの内容が変化するわけですので、
ブラウザにキャッシュをさせないようにHTML側に以下のタグを記述しました。

 <meta http-equiv="Pragma" content="no-cache">

これでブラウザ側でキャッシュがされなくなり、
常に最新のJavaScriptファイルが読み込まれるだろう、と思っていました。
実際FireFoxでは期待通りに動いてくれたのですが、
IEでは以前のJavaScriptファイルが読み込まれていました。

どうもIEは上記のタグを追加してもJavaScriptファイルはキャッシュしてしまい、
サーバーにある最新のJavaScriptではなく、
クライアントでキャッシュされたファイルを使うようです。

そこで、JavaScriptを読み込むタグを以下のように変更しました。

 <script type="text/javascript" src="../js/sample.js"></script>
 ↓
 <script type="text/javascript" src="../js/sample.js?<?php echo date('YmdHis') ?>"></script>

読み込ませたいファイル名の後に「?」を付け、
その後にパラメータとして現在日時を追加します。
これはGETでパラメータを渡すときと同様の方法ですが、
JavaScriptファイルにパラメータを付与する事で、
毎回JavaScriptファイルを取得しなおすようになります。

上記の例では、配備しておくJavaScriptファイル名は「sample.js」です。
パラメータに合わせてファイル名を変更させる必要はありません。

システム周りのお悩みを解決します

まずは無料ダウンロード

この記事に関連する記事の一覧


システム開発ブログ

Twitterでilovex_officialをフォローしてください

カテゴリー

以前の部署別ブログ

ページのトップ