如何获取Javascript Last-Modified日期

时间:2016-06-24 08:26:04

标签: javascript ajax http

我知道,document.lastModified返回一个字符串,其中包含上次修改当前文档的日期和时间。

是否可以为脚本获取Last-Modified?

HTML

...
<script id="myapp" type="text/javascript" src="https://test.asl.cloud/cc/js/my-app.js"></script>
...
<button onclick="myFunction()">Try it</button>
<p id="test_doc"></p>
<p id="test_js"></p>
...

的Javascript

myFunction = function() {
 var x = document.lastModified;
 document.getElementById("test_doc").innerHTML = x;

 var se = document.getElementsByTagName('script');
 var s;
 for (var i = 0; i < se.length; i++) {
  if (typeof se[i].src !== 'undefined' && se[i].src.match('cloud')) {
   s = se[i];
   break;
  }
 }
 console.log(s);
 x = s.lastModified;
 document.getElementById("test_js").innerHTML = x;
}

JSFiddle

1 个答案:

答案 0 :(得分:4)

解决此问题的一种方法是对脚本执行AJAX请求,然后在那里读取Last-Modified标头。

var client = new XMLHttpRequest();
client.open("HEAD", "myscript.js", true);
client.onreadystatechange = function() {
  if(this.readyState == 2) {
    console.log(client.getResponseHeader("Last-Modified"));
  }
}
client.send();

例如,上面的代码https://code.jquery.com/jquery-3.0.0.js而不是myscript.js会记录:

Thu, 09 Jun 2016 18:32:50 GMT