我在一个页面上有一个“新项目”徽章,我希望在从缓存加载页面时立即更新它(即当点击“返回”或“前进”返回到此页面时)。如何实现最佳效果?
设置非常简单。应用程序的布局每8秒钟查找新项目,并相应地更新徽章和项目列表。
$(function() {
setInterval( App.pollForNewItems, 8000 );
});
当有人离开此页面查看项目的详细信息时,可能会发生很多事情。在任何用户查看它们之前,这些东西都是“新的”,并且应用程序很可能同时有几个用户使用(这种工作流程适用于呼叫中心或支持票务)。
为了确保徽章始终是最新的状态,我已经:
$(window).bind('focus load', function ( event ) {
App.pollForNewItems();
});
虽然这样可以运作,但是只有在页面从缓存中加载时,通过“load”来轮询新项目才有用。是否有一种可靠的跨浏览器方式来判断页面是否从缓存加载?