如何通过JavaScript查看上次修改的HTML日期

如何通过JavaScript查看上次修改的HTML日期,javascript,html,last-modified,Javascript,Html,Last Modified,全部, 我对显示.html文件最后修改日期的JavaScript有一个问题。 我试图将最后修改的日期代码放在页脚中,因此我不再需要编写这些代码。它将显示每页的最后修改日期 我在网站上尝试了以下代码: <html> <head> <title>Last Modified</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-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>

最后修改
函数showLastModified(){
var out=document.getElementById('lastModified');
var d=新日期();
if(d.toLocaleDateString){
out.innerHTML=d.toLocaleDateString(document.lastModified);
}
否则{
out.innerHTML=document.lastModified;
}
}
window.onload=showlastmedited;
上次修改日期
但是,它仍然显示今天的日期。我想这是因为d.toLocaleDateString,但我不明白。谁能帮我解决问题。

没有参数

var d = new Date( document.lastModified );
console.log( d.toLocaleDateString() );

大多数浏览器支持document.lastModified。但是在调用toLocaleString之前,需要将字符串转换为日期对象-

if(document.lastModified){
    document.getElementById('lastModified').innerHTML=
    new Date(document.lastModified).toLocaleString();
}

我刚刚尝试在本地html/js文件和远程代码段文件上验证了
document.lastModified
。在我看来,行为是不同的:在本地文件上,它返回的是系统日期和时间,而不是html文件上次修改的日期和时间。这是非常奇怪的行为。 我是如何检查的:我已经将命令插入到js中,然后在运行时使用google chrome dev工具在调试中断/断点模式下查找document属性:每次我将鼠标指向document.lastmodified属性时,它会随着系统时间而相应地更改,并每秒更新一次,无需退出html文档,无需将其保存到其他位置并重新加载到浏览器中,无需使用任何编辑器对其执行任何其他操作。然后我停用断点,让代码自由执行,它也返回系统时间。。。 相反,在远程文件上,它会按预期正常工作,并返回html文件的最后保存日期,而不是动态的

如果文件是本地文件,则此双重检查使我认为该命令没有从浏览器中正确解释。命令
document.lastModified
是否以某种方式对本地文件“损坏”

请其他人检查一下这种奇怪的行为好吗

编辑: 这种奇怪的行为在opera上也是一样的,而firefox在本地和在线html文件中都能正常工作


document.write(document.lastModified)此外,您应该使用一个例程以页面语言格式化日期。使用
toLocaleString()
您会使用浏览器或系统的语言,通常会导致语言的奇怪混合。最后,
document.lastModified
只是回显HTTP头,它不需要与实际的上次修改时间有任何关系(特别是当页面以某种方式在服务器端生成时)。