Документ: свойство lastModified
Базовая линия Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Свойство lastModified интерфейса Document возвращает строку, содержащую дату и местное время последнего изменения текущего документа.
Значение
Строка.
Примеры
Простой пример использования
В этом примере отображается значение lastModified.
alert(document.lastModified); // returns: Tuesday, December 16, 2017 11:09:42
Преобразование lastModified в объект Date
В этом примере lastModified преобразуется в объект Date.
let oLastModif = new Date(document.lastModified);
Преобразование lastModified в миллисекунды
В этом примере lastModified преобразуется в количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по местному времени.
let nLastModif = Date.parse(document.lastModified);
Примечания
Обратите внимание, что как строка, lastModified неудобно использовать для сравнения дат изменения документов. Вот пример, как показать сообщение об изменении страницы (см. также: API куки JavaScript):
// Match 'timestamp' in 'last_modif=timestamp'
// e.g. '1687964614822' in 'last_modif=1687964614822'
const pattern = /last_modif\s*=\s*([^;]*)/;
if (
Date.parse(document.lastModified) >
(parseFloat(document.cookie.match(pattern)?.[1]) || 0)
) {
document.cookie = `last_modif=${Date.now()}; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=${
location.pathname
}`;
alert("This page has changed!");
}
… тот же пример, но пропускающий первый визит:
const pattern = /last_modif\s*=\s*([^;]*)/;
const lastVisit = parseFloat(document.cookie.replace(pattern, "$1"));
const lastModif = Date.parse(document.lastModified);
if (Number.isNaN(lastVisit) || lastModif > lastVisit) {
document.cookie = `last_modif=${Date.now()}; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=${
location.pathname
}`;
if (isFinite(lastVisit)) {
alert("This page has been changed!");
}
}
Если вам нужно узнать, изменилась ли внешняя страница, вы можете выполнить запрос HEAD с помощью API fetch() и проверить заголовок ответа Last-Modified.
Спецификации
| Спецификация |
|---|
| HTML # dom-document-lastmodified-dev |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
lastModified |
1 | 12 | 1 | ≤12.1 | 4 | 18 | 4 | ≤12.1 | 3.2 | 1.0 | 4.4 |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Document/lastModified