获取服务器上文件创建时间
打开想查询的网页文件后在浏览器控制台输入以下命令:**document.lastModified;**
但是这个基本上是只对静态文件有效,动态脚本返回的基本上就是当前时间了。
!(data/attachment/forum/202210/04/025304h5nllierohwtqqzc.png) 我以为我很晚了,没想到还有哥哥在这里
服务器整完了,睡了 王一之 发表于 2022-10-4 03:12
我以为我很晚了,没想到还有哥哥在这里
服务器整完了,睡了
这几天写个程序,折腾得没法睡 这个我弄过,直接获取是不行的。
只能抓取页面的信息得到时间,比如获取github或者greasyfork的页面时间:
document.querySelector("time,relative-time,gf-relative-time").getAttribute("datetime") voeoc 发表于 2022-10-4 12:44
这个我弄过,直接获取是不行的。
只能抓取页面的信息得到时间,比如获取github或者greasyfork的页面时间:
...
页面上没有相关信息你就抓瞎了,尤其是某些静态文件,比如css、js、txt之类,这种方法主要是来对付这些静态文件的。 这个有意思!get到了 逍遥逸仙 发表于 2022-10-4 13:15
页面上没有相关信息你就抓瞎了,尤其是某些静态文件,比如css、js、txt之类,这种方法主要是来对付这些静 ...
静态资源直接获取响应头信息就行(https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Last-Modified)
动态文件,我觉得最快、最准确的就是直接抓页面了,只是不太通用。
然后就是借助搜索引擎了,比如获取现在这个页面的时间:
```js
function query(target) {
const queryUrl = encodeURI(`https://cn.bing.com/search?q=url:${target}`);
console.log(queryUrl);
fetch(queryUrl).then(response => {
return response.text();
}).then(data => {
try {
const doc = new DOMParser().parseFromString(data, "text/html");
const result = /^.*(?=[\t ]*·)/ig.exec(doc.querySelector("#b_results p")?.innerText);
console.log("update time:", result ? result : undefined);
} catch (e) {
console.error(e);
}
});
}
query(`https://bbs.tampermonkey.net.cn/thread-3356-1-1.html`);
```
我先前的解决方案是把这两个方法结合起来,先直接抓页面,如果页面获取不到数据,就抓搜索引擎的收录时间,再不行就放弃了。
如果还有其他方法,我也想学习一下
voeoc 发表于 2022-10-4 18:50
静态资源直接获取响应头信息就行(https://developer.mozilla.org/zh-CN/docs/Web ...
学习了
连搜索引擎都想到了,厉害了 王一之 发表于 2022-10-4 03:12
我以为我很晚了,没想到还有哥哥在这里
服务器整完了,睡了
上传的附件别人另存为服务器就不会记录次数,这样非常打击积极性啊,希望修复一下这个bug 逍遥逸仙 发表于 2022-10-5 02:29
上传的附件别人另存为服务器就不会记录次数,这样非常打击积极性啊,希望修复一下这个bug ...
{:4_98:}好像也是dz的bug,看情况吧
加上论坛大部分会员都是只看不说话....
导致发帖的都是在自言自语
哥哥习惯就好了
我常年0回复浏览量低于100就知道我地位多尴尬了= =
页:
[1]
2