1

全て、

.html ファイルの最終更新日を表示する JavaScript に問題があります。フッターに最終更新日のコードを入れようとしたので、もうそれらのコードを書く必要はありません。また、各ページの最終更新日が表示されます。

私はウェブサイトでコードを試しました:

<html>
<head>
<title>Last Modified</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
<script type="text/javascript">

function showLastModified() {
var out = document.getElementById('lastModified');
var d = new Date();
if (d.toLocaleDateString) {
out.innerHTML = d.toLocaleDateString(document.lastModified);
}
else {
out.innerHTML = document.lastModified;
}
}

window.onload = showLastModified;
</script>
</head>
<body>
Last Modified on <span id="lastModified">&nbsp;</span>
</body>
</html>

ただし、今日の日付は引き続き表示されます。d.toLocaleDateStringのせいだと思うのですが、わかりません。誰でも私の問題を解決するのを手伝ってもらえますか?

4

3 に答える 3

1

toLocaleDateStringにはパラメーターがありません。

var d = new Date( document.lastModified );
console.log( d.toLocaleDateString() );
于 2012-06-14T14:21:10.440 に答える
1

Most browsers support document.lastModified. but you need to turn the string into a Date object before calling toLocaleString-

if(document.lastModified){
    document.getElementById('lastModified').innerHTML=
    new Date(document.lastModified).toLocaleString();
}
于 2012-06-14T14:27:41.877 に答える
0

document.lastModifiedローカルの html/js ファイルとリモートのスニペット ファイルの両方で検証しようとしました。私には動作が異なるようです:ローカルファイルでは、htmlファイルの最終更新日時ではなく、システムの日時を返しています予想通り。それは非常に奇妙な行動です。これを確認した方法: コマンドを js に挿入し、デバッグ中断/ブレーク ポイント モードで Google Chrome 開発ツールを使用して、実行時にドキュメント プロパティを調べました: マウスを document.lastmodified プロパティに合わせるたびに変更されますそれに応じて、システム時間に合わせて毎秒更新し、html ドキュメントを終了したり、他の場所に保存したり、ブラウザーに再読み込みしたりせず、エディターで他に何もしません。次に、ブレークポイントを無効にし、コードを自由に実行させ、システム時刻も返します...リモートファイルでは、代わりに期待どおりに正常に動作し、html ファイル自体の最終保存日を返し、動的ではありません。

この二重チェックにより、ファイルがローカル ファイルである場合、コマンドがブラウザから正しく解釈されていないと考えられます。コマンドは、 document.lastModifiedローカル ファイルに対して何らかの方法で「壊れている」のでしょうか?

他の誰かがこの奇妙な動作を確認できますか?

編集:

奇妙な動作は Opera でも同じですが、firefox はローカルとオンラインの両方の HTML ファイルで期待どおりに動作します。

    document.write(document.lastModified);

于 2016-08-08T04:15:46.070 に答える