如何在其他浏览器中缓存像Safari这样的history.back?

时间:2011-09-27 03:45:05

标签: browser-cache

我想要

  

history.back()

像Safari一样自然缓存。

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

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

1 个答案:

答案 0 :(得分:0)

您可以将页面资源缓存在“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的版本。 好吧,有很多方法可以让你的页面在眨眼之间加载。希望它有所帮助。