赤字:JavaScriptの命令や重要なタグ/青字:用途に応じて変更する部分/緑字:変更可能な変数名やユーザー関数名
ファイルの更新日:index.html
<script type="text/javascript"> getUpdate("index.html"); //ファイルの更新日を取得 function getUpdate(fileName) { var obj = createRequest(); //リクエスト if (obj) { //通信実行 obj.open("get",fileName); obj.onreadystatechange = function() { //通信完了 if (obj.readyState == 4 && obj.status == 200) { //読込後の処理 var date = new Date(obj.getResponseHeader("last-modified")); document.getElementById("view").innerHTML = date.getFullYear() + "/" + (date.getMonth() + 1) + "/" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes(); } } obj.send(null); } } //非同期通信オブジェクトの生成 function createRequest() { try { return new XMLHttpRequest(); } catch (e) { try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { return null; } } return null; } </script>
変数fileNameには、ファイルのURLを記述します。
新しいリクエストを変数objに作成し、非同期通信を開始します。
通信が始まるとonreadystatechangeが発生し、obj.readyStateとobj.statusを監視することで通信が終わったかどうかを判定し、終了すると事後処理に移ります。
事後処理において、読み込んだファイルのレスポンスヘッダから更新日を取得して、日付を表示しています。
※タイマーを使ってgetUpdate()を複数回呼び出しても2回目以降情報が更新されない恐れがあります。