Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Document : propriété lastModified

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

La propriété en lecture seule lastModified de l'interface Document retourne une chaîne de caractères contenant la date et l'heure locales auxquelles le document actuel a été modifié pour la dernière fois.

Valeur

Une chaîne de caractères.

Exemples

Utilisation simple

Cet exemple affiche une alerte avec la valeur de lastModified.

js
alert(document.lastModified);
// retourne : Tuesday, December 16, 2017 11:09:42

Transformer lastModified en un objet Date

Cet exemple transforme lastModified en un objet Date.

js
let oLastModif = new Date(document.lastModified);

Transformer lastModified en millisecondes

Cet exemple transforme lastModified en nombre de millisecondes écoulées depuis le 1er janvier 1970 à 00:00:00, heure locale.

js
let nLastModif = Date.parse(document.lastModified);

Notes

Veuillez noter qu'en tant que chaîne de caractères, lastModified ne peut être facilement utilisé pour des comparaisons entre les dates modifiées des documents. Voici un exemple possible qui montre comment afficher une alerte quand la page change (voir aussi l'API des cookies en JavaScript) :

js
// Fait correspondre 'timestamp' dans 'last_modif=timestamp'
// exemple '1687964614822' dans '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("Cette page a changé !");
}

… le même exemple, mais en ignorant la première visite:

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("Cette page a changé !");
  }
}

Si vous voulez savoir lorsqu'une page externe a changé, vous pouvez effectuer une requête HEAD en utilisant l'API fetch(), et examiner l'en-tête de réponse Last-Modified.

Spécifications

Specification
HTML
# dom-document-lastmodified-dev

Compatibilité des navigateurs