Javascript document.lastModified返回当前日期和时间

时间:2013-12-18 18:26:42

标签: javascript html

我正在使用标准document.lastModified Javascript属性输出页面的假定的最后修改日期,但它输出的是实际的当前日期和时间。任何线索,为什么它的行为方式与输出页面的实际最后修改属性相反?这在本地(在我的机器上)以及在传送服务器上发布的页面上都会发生。

2 个答案:

答案 0 :(得分:7)

document.lastModified 我想是基于HTTP响应标题字段Last-ModifiedRFC2822)。 Last-Modified通常与Request头字段If-Modified-Since一起用于缓存目的。

与其他标头字段一样,它的服务器实现特定于返回的值。回复HTTP请求的服务器软件可能会也可能不会返回HTTP响应中的Last-Modified标头字段。

在您运行此页面的页面中,服务器只返回当前日期。这个页面也是如此。

然而,在https://developer.mozilla.org/en-US/docs/Web/API/document.lastModified上执行 document.lastModified (在开发工具中),你会得到 11/13/2013 09:13:29 < / p>

在Firefox中使用firebug或在Chrome中使用Chrome开发工具,您可以在Network标签中查看HTTP流量数据。

答案 1 :(得分:0)

在我的硬盘驱动器上的本地文件上测试了lastModified。 Chrome会返回当前时间/日期,而不是保存文件的时间。 Internet Explorer和Firefox返回时间/日期文件已保存。 因此,这是一个Chrome错误。 获取页面以检查是否可以从userAgent查看Chrome,并警告用户或禁用代码。

  
    

Blockquote

  
     

if(navigator.userAgent.indexOf(“ Chrome /”)> 0){alert(“ Chrome   错误。\ n请使用其他浏览器。\ n一个有效的浏览器。“);}

     
    

Blockquote

  

lastModified的其他问题。 它返回一个字符串而不是一个日期对象。所以不能使用date.getFullYear() 该字符串采用美国格式,而不是标准格式d / mm / yyyy