Javascript获取网页的最后修改
我试图创建一个javascript函数,返回它接收到的远程url的最后修改日期。我尝试过许多不同的方法,但似乎都不管用。下面的代码似乎很接近,但不幸的是,它不起作用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
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)。请将此对话用于聊天。评论并非用于实时协作。