3

我正在尝试创建一个 javascript 函数,该函数返回它收到的远程 url 的最后修改日期。我尝试了许多不同的方法,但似乎都没有奏效。下面的代码看起来可能很接近,但不幸的是不起作用。

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

该功能将在我正在制作的 chrome 扩展中使用。感谢您的帮助-乔希

4

1 回答 1

7

一些问题:

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

试试这个:

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)以及服务器发送标头。

于 2012-08-01T14:17:05.937 回答