相关疑难解决方法(0)

我的页面是否从浏览器缓存中加载?

我在页面上有一个"新项目"徽章,我想立即更新页面从缓存中加载(即,当点击"返回"或"转发"返回此页面时).完成此任务的最佳方法是什么?

设置非常简单.应用程序的布局每8秒查找一个新项目,并相应地更新徽章+项目列表.

$(function() {
    setInterval( App.pollForNewItems, 8000 );
});
Run Code Online (Sandbox Code Playgroud)

当有人导航离开此页面以查看项目的详细信息时,可能会发生很多事情.在任何用户查看之前,事情都是"新的" ,并且应用程序可能会有多个用户同时使用它(用于呼叫中心或支持服务单的工作流程类型).

为了确保徽章始终是最新的,我有:

$(window).bind('focus load', function ( event ) {
    App.pollForNewItems();
});
Run Code Online (Sandbox Code Playgroud)

..虽然这有效,但只有在从缓存加载页面时,轮询"加载"上的新项目才有用.是否有可靠的跨浏览器方式来判断是否正在从缓存加载页面?

javascript jquery javascript-events browser-cache browser-history

14
推荐指数
3
解决办法
6704
查看次数

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

问题源于以下问题.我在我的Android设备上使用TiddlyWiki(Classic)SPA,并且通常将它与FireFox及其TiddlyFox扩展一起用于保存.由于某些原因,我希望能够使用其他浏览器来处理(并保存)我的TW,所以我用PHP后端测试它(我的MicroTiddlyServer的分支,但它的代码在这里并不重要,我相信,+ 这个 PHP服务器).

在我的测试中,我注意到虽然保存工作正常,但有时候(至少当PHP服务器由于这种丑陋的Android"优化"(这似乎是不可配置的)从内存中卸载时)从缓存中加载TW并且因此它是在最近的保存之前加载的,而不是之后的加载.

所以,我想要的是检测页面是以普通方式加载还是从浏览器缓存加载.可以通过JavaScript检查吗?

作为一个更糟糕的选择,我可以通过MTS注入一个时间戳并在加载TW时检查它,但我想避免这种复杂化(涉及前端和后端并添加更多的TW文件操作).

javascript php android tiddlywiki single-page-application

7
推荐指数
1
解决办法
896
查看次数