3

受信したリモート URL の最終更新日を返す JavaScript 関数を作成しようとしています。さまざまな方法を試しましたが、どれもうまくいかないようです。次のコードは近いかもしれませんが、残念ながら機能しません。

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 に答える