更新日を別のファイルに表示

[上に] [前に] [次に]
くらっかぁ 1999/05/27(木) 18:24:01
JavaScriptでファイルの最終更新日を取得できると思うのですが、
a.htmの最終更新日をb.htmに表示させることはできるでしょうか。
よろしくお願いします。

ちゃわ [E-Mail] 1999/05/27(木) 18:37:00
a.htmの最終更新日・・・ということは、サーバー側のファイルなので、
サーバーでプログラムを実行する必要があります。
CGIだと可能ですけど・・・。

ふじ 1999/05/27(木) 18:51:18
フレームを使えばJavaScriptでも可能かと。

<frameset cols="0,*">
<frame name="A" src="a.html">
<frame name="B" src="b.html">
</frameset>

で、b.htmlの方で
top.A.document.lastModified を参照する。

もっとも、SSIが使えるならそちらを使った方が簡単ですが。
http://www.tohoho-web.com/wwwssi.htm#Flastmod

ふじ 1999/05/27(木) 20:55:06
追記。
上記の方法、ローカルでは出来ますが、サーバに置いた場合、
サーバが Last-Modified ヘッダを返してくれないと使えないようです
(最終更新日時が取れない)。
#手元の MS Peer Web Serverでは返してくれたけど・・・

例えば、NCで、右クリック→情報を表示、で最終更新日時が「不明」となってたら、
JavaScriptからは最終更新日時は取得できない(らしい)。

くらっかぁ 1999/05/28(金) 16:07:47
ありがとうございました。
あと、SSIで得た数値をJavaScriptで使うと言うのはできますか?
今日の日付と比較して、3日以内なら文字の色を変える・・・、
とかやりたいのですが。

ふじ 1999/05/28(金) 16:31:46
<!--#config timefmt="%b %d,%Y %X"-->
dd = new Date('<!--#flastmod file="hoge"-->');

こんな感じでしょうか(試してないけど)。

http://www.tohoho-web.com/js/date.htm


くらっかぁ 1999/05/29(土) 13:15:47
[[解決]]
ありがとうございました。
ひとまずできました。でも、あまり効率のいい方法とは思えないので、
配列とforでファイルの数だけ同じ処理を繰り返して、msg[0]などに
代入していこうと考えたのですが、
msg[0]などに、文字とかを後から代入ってできないのでしょうか。
最初の質問からかなりそれてしまいましたがよろしくお願いします。

くらっかぁ 1999/05/29(土) 13:17:07
だぁあ! 間違って解決をチェックしてしまいました。
すみません。

ふじ 1999/05/29(土) 14:15:32
>msg[0]などに、文字とかを後から代入ってできないのでしょうか。
意味がよく分かりませんが、文字列を追加するのなら

msg[0] += "hoge";

で出来ます。
ところでSSIはサーバからクライアントにデータ(HTML)が渡される時に
展開されるので、
for (i = 0 ; i <= 9 ; i ++){
dd[i] = new Date('<!--#flastmod file="'+filename[i]+'"-->');
}
なんてやっても駄目ですよ。

くらっかぁ 1999/05/29(土) 16:36:36
dt = new Array(n);
dd = new Array(n);
dt[0] = new Date('<!--#flastmod file="***.htm"-->');
dd[0] = "";
...
のあと、
y[0] = dt.getYear();
...
for (i = 0 ; i <= n ; i ++){
     dd[i] = y[i]+"月"+...;
}
document.write(dd[0]);
みたいな感じにしたいなぁ、と思うのですが・・・。
バカな質問ばかりですみません。

[上に] [前に] [次に]