2016-06-24 2 views
1

Я знаю, document.lastModified возвращает строку, содержащую дату и время последнего изменения последнего документа.Как получить Javascript Last-Modified date

Возможно ли получить 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

ответ

3

Один из способов приблизиться к этому было бы сделать запрос 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 
+1

Не было бы проще просто сделать запрос 'HEAD' вместо этого? Так что вам не нужно загружать все. –

+0

@JohnWeisz Вы правы! Я обновил свой ответ. –

Смежные вопросы