文档:lastModified 属性
Document 接口的 lastModified 属性返回一个字符串,其中包含当前文档上次修改的日期和本地时间。
值
字符串。
示例
简单用法
此示例会弹出 lastModified 的值。
js
alert(document.lastModified);
// returns: Tuesday, December 16, 2017 11:09:42
将 lastModified 转换为 Date 对象
此示例将 lastModified 转换为 Date 对象。
js
let oLastModif = new Date(document.lastModified);
将 lastModified 转换为毫秒
此示例将 lastModified 转换为自 1970 年 1 月 1 日 00:00:00(本地时间)以来的毫秒数。
js
let nLastModif = Date.parse(document.lastModified);
注意
请注意,作为字符串,lastModified 不容易用于比较文档的修改日期。以下是一个可能的示例,演示如何在页面更改时显示警报消息(另请参阅: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!");
}
…相同的示例,但跳过第一次访问
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!");
}
}
如果您想知道外部页面是否已更改,您可以使用 fetch() API 发送一个 HEAD 请求,并检查 Last-Modified 响应头。
规范
| 规范 |
|---|
| HTML # dom-document-lastmodified-dev |
浏览器兼容性
加载中…