2011-09-27 132 views

回答

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规则此页面匹配它至少有一个听众
  • Base64编码图像
  • JS功能(只推荐对于较小的图像或大图像的预览)

另外,还可以使这个或SOMET服务器端版本像Opera Turbo一样兴奋。那么,有无数的方式让你的页面在眨眼之间加载。希望能帮助到你。

+0

即使页面已经通过jQuery(JavaScript)动态追加,这可以应用吗? – InspiredJW

+0

更好。如果您已经在页面中使用XHR(AJAX),则可以将响应存储在localStorage中,并将所有网站页面放在单个文件中,但需要大量XHR请求。就像Google搜索一样。在Google搜索的页面上,您可以通过网络,图片,视频等搜索不同的查询,并且仍然位于同一位置,您可以使用浏览器操作返回/转发这些“页面”。请注意,唯一改变的是URI片段(#),以处理应该请求的内容。 – cvsguimaraes

+0

所以这有点像location.hash?你能用详细的示例代码来解释我吗? – InspiredJW