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

时间:2012-06-14 14:15:44

标签: javascript html last-modified

所有

我在使用JavaScript时遇到问题,以显示.html文件的上次修改日期。 我试图将最后修改的日期代码放在我的页脚中,因此我不再需要编写这些代码了。它将显示每个页面的最后修改日期。

我在网站上尝试了代码:

<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,但我无法弄清楚。任何人都可以帮我解决我的问题。

3 个答案:

答案 0 :(得分:1)

toLocaleDateString没有参数。

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

答案 1 :(得分:1)

大多数浏览器都支持document.lastModified。但是在调用toLocaleString -

之前,需要将字符串转换为Date对象
if(document.lastModified){
    document.getElementById('lastModified').innerHTML=
    new Date(document.lastModified).toLocaleString();
}

答案 2 :(得分:0)

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

这个双重检查让我认为如果文件是本地文件,则无法从浏览器正确解释该命令。对于本地文件,命令document.lastModified是否有某种“破坏”?

请其他人检查这种奇怪的行为吗?

编辑:

Opera上的奇怪行为是相同的,而firefox在本地和在线html文件中都按预期工作。

    document.write(document.lastModified);