如何保存/缓存dom,以便在点击后退按钮时页面按原样加载

How to save/cache the dom so that the page loads as-is when you hit the back button?

本文关键字:按钮 加载 按原样 保存 何保存 dom 缓存      更新时间:2023-09-26

我使用ajax调用添加模型到我的js应用程序模型集合。当我点击一个模型并转到下一页时,我希望当我点击后退按钮时,我加载的所有模型仍然在那里。什么是最好的方法来做到这一点,使它适用于所有浏览器?这是针对移动网络的。我找不到一个直接的答案,我如何使用bfcache,或js历史,或者有另一个,更好的方式?

您可以将它们存储在本地存储中,并且只有当本地存储中不存在它们时才能为它们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);
   }});
}

只要记住你不想重载,所以如果你有一个url的参数改变每次调用,不要使用这个,否则你会重载本地存储