我使用ajax调用将模型添加到我的js app模型集合中。当我点击一个模型并转到下一页时,我希望当我点击后退按钮时,我加载的所有模型仍然存在。这样做的最佳方法是什么,以便它适用于所有浏览器?这是针对移动网络的。我无法找到一个直接的答案,我如何使用bfcache,或js历史,还是有另一种更好的方法?
答案 0 :(得分:0)
只有当本地存储上不存在
时,才可以将它们存储在本地存储和ajax中因此,不要使用常规$ .ajax,而是将其用于要缓存的ajax:
function storageBasedAjax(url,cb){
if (localStorage.getItem("myAxaxCache_"+url)){
cb(localStorage.getItem("myAxaxCache_"+url));
return;
}
$.ajax({url: url, success: function(result){
localStorage.setItem("myAxaxCache_"+url,result);
cb(result);
}});
}
请记住你不想过载,所以如果你有一个参数改变每个电话的网址,不要使用它,否则你将超载本地存储