如何缓存历史记录.在其他浏览器中像Safari一样返回



我想

history.back ()

可以像Safari一样缓存。

但这在其他浏览器中不会发生

如何在其他浏览器中实现像safari一样的history.back()缓存?

您可以在'localStorage'中缓存页面资源,但大多数现代浏览器已经做了类似的事情(并且更好)。尽管有这个本地浏览器缓存,但是从这些资源生成的代码需要一段时间来计算和应用。你可以给浏览器一点帮助来构建你的网站页面:

<script>
    if(!localStorage[location.pathname]) {
        //load this page from server
        localStorage[location.pathname] = getGeneratedPage();
    } else {
        body.innerHTML = parseGeneratedPage(localStorage[location.pathname]);
    }    
</script>

这只是一个非常一般的例子。getGeneratedPage可以是一个只存储:

的函数。
  • 页面加载后的DOM树
  • 匹配的CSS规则
  • JS函数,至少有一个监听器
  • Base64图像(仅建议用于小图像或大图预览)

同样,你也可以做一个服务器端版本,比如Opera Turbo。嗯,有无数的方法可以让你的页面在一眨眼的时间内加载。

最新更新