Возможно ли с помощью javascript найти последнее измененное время файла?

Является ли это возможным? Теперь я провел чат, где с помощью jQuery я подключаюсь к файлу .php и проверю последнее измененное время, и если это не так, я получаю сообщения. Если бы это было возможно в javascript, я бы, вероятно, сэкономил бы много ресурсов.

Благодарю.

Короткий ответ: нет никакого способа, кроме AJAX + серверного скрипта (в вашем случае jQuery + php)

Будучи сценарием на стороне клиента, javascript запускается на компьютере клиента, поэтому если файл, чей m-время, которое вы хотите проверить, находится на сервере, то вы правильно используете AJAX и серверный скрипт. Никакой другой способ не будет работать.

Если файл, чей m-время вы хотите проверить, находится на компьютере клиента, вам не повезло. Javascript намеренно предназначен для предотвращения доступа к файлам клиента. (Он может использовать только файлы cookie, которые находятся на компьютере клиента, однако, поскольку браузер (не любой javascript) загружает их в рабочую среду.)

Это определенно возможно, если сервер отправляет точный заголовок Last-Modified для этого конкретного файла:

 var getMTime = function(url, callback) { var xhr = XMLHttpRequest(); xhr.open('HEAD', url, true); // use HEAD - we only need the headers xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { var mtime = new Date(xhr.getResponseHeader('Last-Modified')); if (mtime.toString() === 'Invalid Date') { callback(); // dont want to return a bad date } else { callback(mtime); } } } xhr.send(); }; getMTime('url here', function(mtime) { if (mtime) console.log('the mtime is:' + mtime.toISOString()); }); 

Возможно, заголовки HTTP ETag могут использоваться для проверки того, изменилась ли страница. Первый ответ содержит ETag, и ваш клиент использует его для следующего запроса. Ваш код на стороне сервера PHP затем отправит 304, если страница не была изменена.

http://en.wikipedia.org/wiki/HTTP_ETag