我想
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。嗯,有无数的方法可以让你的页面在一眨眼的时间内加载。