android 有没有办法检查页面是否是从浏览器缓存加载的?

bq3bfh9z  于 2023-02-17  发布在  Android
关注(0)|答案(2)|浏览(142)

这个问题源于以下问题:我使用的是TiddlyWiki(Classic)SPA在我的Android设备上,通常使用它与FireFox及其TiddlyFox扩展进行保存。由于某些原因,我希望能够与使用其他浏览器(并保存)我的TW,所以我使用PHP后端进行测试(我的MicroTiddlyServer的分叉,但它的代码在这里并不重要,我相信,+ this PHP服务器)。
在我的测试中,我注意到虽然保存工作正常,但有时(至少当PHP服务器由于这个丑陋的Android“优化”而从内存中卸载时,它似乎是不可配置的)TW是从缓存中加载的,因此它是在最后一次保存 * 之前 * 加载的,而不是之后。
所以,我想要的是检测页面是以普通方式加载的还是从浏览器缓存加载的。是否可以通过JavaScript检查这一点?
作为一个更糟糕的选择,我可以通过MTS注入时间戳,并在加载时将其检查到TW中,但我希望避免这种复杂性(它涉及前端和后端,并添加更多TW文件操作)。

axzmvihb

axzmvihb1#

如果你在chrome中使用远程调试器,你可以看到网络请求,并确定你的项目是否被缓存,火狐似乎也有一个远程调试器。

guz6ccqo

guz6ccqo2#

有了新的资源计时级别2规范,您可以使用传输大小属性来检查页面是否从缓存加载:

var isCached = performance.getEntriesByType("navigation")[0].transferSize === 0;

规格:https://www.w3.org/TR/resource-timing/#dom-performanceresourcetiming-transfersize

相关问题