いくつかのファイルの更新時間を取得して、 そのデータを JavaScriptファイルに書き出すスクリプトです。
その JavaScriptファイルを HTMLから呼び出し、データを取得することによって、 HTML 内に、あるファイルの更新時刻を挿入できます。
いくつかのユーザー設定は、
CGIスクリプトの上部の
保存用の JSファイルが更新されるのは、
サンプルは Set-Sample にあります。
チェックするファイルは、複数設定できます。
@files = ('***1.html', '***2.html', '***3.html');また、以下のように、呼び出すときの出力形式を分けられます。
<a href="http://.../lastmod.cgi?files=***.html">更新履歴</a>
<script type="text/javascript" src="lastmod.cgi?mode=js&files=***.html"></script>
<img src="lastmod.cgi?mode=img&files=***.html" alt="dummy">
JSファイルには以下のような形式で保存されます。
var LastMod = {
'ファイル名' : [更新時間, '更新日付'],
... (ファイル数分繰り返し)
'last-update' : [JSファイルの更新時間, 'JSファイルの更新日付']
};
サンプルは Get-Sample にあります。
HTML ソースの指定の箇所に、JavaScript を直接貼っつけます。 わかりやすいので、初心者さん向け。
<script type="text/javascript" src="lastmod.js"></script>
...
...
<a href="hoge.html">hoge.html</a>
<script type="text/javascript">
if (window.LastMod && LastMod['hoge.html']) {
document.write('(Last-Update : ' + LastMod['hoge.html'][1] +')');
}
</script>
同梱の
まず、いくつかの id のリストを与える。 その id を持つ要素があり、 かつ、LastMod[ id + '.html'] が存在する場合、 その要素の title 属性に "Last-Update : 2005/07/07 00:00:00" が入る。
<script type="text/javascript" src="lastmod.js"></script>
<script type="text/javascript" src="lastmod_test1.js"></script>
同梱の
ある
<script type="text/javascript" src="lastmod.js"></script>
<script type="text/javascript" src="lastmod_test2.js"></script>
以下のように HTML内に JavaScript を書くと、 そのページにアクセスしたときに、 100回 に 1回 の割合で CGIスクリプト が呼び出されます。
つまり、半自動で勝手に更新してくれるかもしれません。 手動での更新が面倒な場合にどうぞ。
<script type="text/javascript">
// 100回 に 1回 の割合で更新チェック
if (100 * Math.random() < 1) {
var lastmod = new Image();
lastmod.src = 'lastmod.cgi?mode=img&files=line-test.html+check_point.html';
}
</script>