获取当前网页最后修改时间是一个常见的需求,可以通过JavaScript来实现。下面是一个完整的攻略,包括两条示例说明。
方法一:通过document.lastModified属性获取
每个HTML文档都有一个默认的document对象。document.lastModified属性可以返回当前网页最后修改时间,返回的是一个字符串类型的时间戳。
let lastModifiedTime = document.lastModified;
console.log(lastModifiedTime); // "2021/11/11 14:31:42"
需要注意的是,这种方法获取的是客户端最后一次访问该网页的时间,如果该网页在客户端之前就被修改过了,那么获取到的就是这个时间而不是最新的修改时间。此外,也有些浏览器不支持该属性,这时可以尝试第二种方法。
方法二:通过HTTP头中的Last-Modified字段获取
当客户端请求一个资源时,服务器会在响应头中添加一些元数据。其中,Last-Modified字段可以返回该资源在服务器最后被修改的时间。
let xhr = new XMLHttpRequest();
xhr.open("HEAD", window.location.href, true);
xhr.onreadystatechange = function() {
if (xhr.readyState == xhr.HEADERS_RECEIVED) {
let lastModifiedTime = new Date(xhr.getResponseHeader("Last-Modified"));
console.log(lastModifiedTime); // "2021-11-11T14:31:42.000Z"
}
};
xhr.send();
这段代码中,我们通过创建XMLHttpRequest对象来发送异步请求。由于我们只需要获取响应头中的元数据,所以使用了HEAD方法。当XHR对象收到headers时触发onreadystatechange事件,通过xhr.getResponseHeader方法获取Last-Modified字段的值并将其转化为Date类型,并打印输出。
需要注意的是,当浏览器从缓存中获取资源时,可能不会发送请求到服务器,这时获取到的时间戳不是最新的,可以在请求头中添加Cache-Control等字段来避免这种情况。此外,如果服务器没有返回Last-Modified字段,那么无法通过这种方法获取最后修改时间。
综上所述,我们可以通过document.lastModified属性或HTTP头中的Last-Modified字段来获取网页最后修改时间,但两种方法都存在一定的限制,需要根据具体的情况选择适合的方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript获取当前网页最后修改时间的方法 - Python技术站