Javascript获取网页的最后修改

Javascript获取网页的最后修改,javascript,google-chrome-extension,xmlhttprequest,last-modified,Javascript,Google Chrome Extension,Xmlhttprequest,Last Modified,我试图创建一个javascript函数,返回它接收到的远程url的最后修改日期。我尝试过许多不同的方法,但似乎都不管用。下面的代码似乎很接近,但不幸的是,它不起作用 function getlastmod(url) { var req = new XMLHttpRequest(); req.open("GET", url, false); req.getResponseHeader("Last-Modified"); req.send(""); retur

我试图创建一个javascript函数,返回它接收到的远程url的最后修改日期。我尝试过许多不同的方法,但似乎都不管用。下面的代码似乎很接近,但不幸的是,它不起作用

function getlastmod(url) {
    var req = new XMLHttpRequest();
    req.open("GET", url, false);
    req.getResponseHeader("Last-Modified");
    req.send("");
    return req.responseText;
}
该功能将在我正在制作的chrome扩展中使用。 感谢您的帮助Josh

一些问题:

  • 您正在尝试在建立连接之前获取标题。您只能在服务器响应后读取标题
  • 你没有对结果做任何事
试试这个:

function getlastmod(url, cb) {
    var req = new XMLHttpRequest();
    req.open("GET", url);
    req.send(null);
    req.addEventListener("load", function() {
        cb(req.getResponseHeader("Last-Modified"));
    }, false);
}

getlastmod("/", function(v) {
    console.log(v); //"Wed, 01 Aug 2012 14:13:22 GMT"
});

这需要您的扩展名请求(因为您正在进行跨源xhr)以及服务器发送标题。

如果服务器没有告诉您上次修改的
,您根本无法找到它。@sLaks此代码确实可以工作,制造answer@Esailija如果服务器告诉最后一个-modified@rsplak它是否告诉它并不重要,因为代码忽略了它。它还试图在请求发出之前获取标题。我撤回了我的回答,因为您收到的只是标题,我认为它可以跨域工作;然而,正如SLaks所说,服务器必须给出最后修改的时间。如果服务器没有,则默认为当前时间(GMT)。请将此对话用于聊天。评论并非用于实时协作。