Document: lastModified property
The lastModified
property of the Document
interface returns a string containing the date and time on which the current document
was last modified.
Value
A string.
Examples
Simple usage
This example alerts the value of lastModified
.
js
alert(document.lastModified);
// returns: Tuesday, December 16, 2017 11:09:42
Transforming lastModified into a Date object
This example transforms lastModified
into a Date
object.
js
let oLastModif = new Date(document.lastModified);
Transforming lastModified into milliseconds
This example transforms lastModified
into the number of milliseconds since
January 1, 1970, 00:00:00, local time.
js
let nLastModif = Date.parse(document.lastModified);
Notes
Note that as a string, lastModified
cannot easily be used for
comparing the modification dates of documents. Here is a possible example of how to show
an alert message when the page changes (see also: JavaScript cookies API):
js
// 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!");
}
…the same example, but skipping the first visit:
js
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!");
}
}
Note: WebKit returns the time string in UTC; Gecko returns a time in the local timezone. (See: Bug 4363 – document.lastModified returns date in UTC time, but should return it in local time)
If you want to know whether an external page has changed,
please read this paragraph about the XMLHttpRequest()
API.
Specifications
Specification |
---|
HTML Standard # dom-document-lastmodified-dev |
Browser compatibility
BCD tables only load in the browser