Мне нужно считать значение заголовка Last-Modified и запихнуть его в переменную чтобы потом сверить с заголовком date текущей страницы(уже открытой страницы или мне прийдётся открывать её по новой чтобы считывать?). Который тоже надо как-то считать. Подскажите как их считать?
Или я пока не разобрался или данный способ смотрит текущий заголовок загруженной страницы. А мне ещё надо заново запросить заголовок и желательно только заголовок, чтобы не тратить лишний трафик. Чтобы потом этот заголовок сравнить с текущим. В общем твой ответ на половину решил проблему)
Stalker_RED: ещё вопрос, а как узнать адрес текущей страницы, лучше без домена, а просто / или там /index.php или /new.php. Мне нужно повторно запросить дату модификации открытой страницы.
Stalker_RED: разобрался да не совсем, странички имеют время жизни кэша и при повторном считывании заголовка страницы он заново грузится, но из кэша. Как заставить его игнорировать кэш при этом.
var LMCache = Date.parse(document.lastModified);
var client = new XMLHttpRequest();
client.open("GET", location.pathname, true);
client.send(); // вот тут грузится страничка по новой, но из кэша
var LMNew = Date.parse(client.getResponseHeader("Last-Modified"));
if (LMCache < LMNew) location.reload();
Stalker_RED: и ещё как считать данные заголовка после того как он скачается, учитывая что его загрузка асинхронная. На данный момент я просто ставлю задержку на функцию чтобы дождаться что он скачался. И как запросить только заголовок, не хочу каждый раз тянуть всю страницу, лишний трафик. И ещё, как узнать загружена текущая страница из кэша браузера или из сайта?
Использовать HTTP метод HEAD вместо GET.
Если сервер не поддерживает HEAD (ну а вдруг?), можно сразу после получения заголовков this.readyState == this.HEADERS_RECEIVED оборвать запрос. xhr.abort()
как узнать загружена текущая страница из кэша браузера или из сайта?
Я не знаю, разве что время засекать - ответы из интернетов как правило дольше приходят чем из кэша. Но зачем это, если вы добавляете параметр для обхода кэша?