2011-02-14 106 views
4

我正在阅读Local Storage in HTML5,我开始认为它有点像我使用memcached的客户端版本。这让我想 - 我目前在memcache中进行页面级缓存。是否有可能使用localStorage进行客户端页面/ DOM缓存?

这可能与localStorage?也就是说,一个组装的页面可以在localStorage中自己存储(或者更重要的是,也许它本身就是其中的一部分),这样客户端在用户下一次显示页面时不必非常困难地使用它的DOM。

在我看来,由于事物只存储为字符串,这可能无法正常工作,除非有一些字符串可用于对象转换。

回答

2

问题是你不知道什么是在缓存中,直到你已经加载你的页面,这意味着你需要执行另一个 HTTP请求来获取你需要的数据,哪些线索甚至更多的开销。我肯定会坚持服务器端资源缓存。

你可以这样做,但是这样的事情基本上涉及一个JavaScript的主索引页面,它要么加载缓存的本地文件,要么执行Ajax请求来从服务器加载内容。

4

看看Christian's 2010 24ways post在标题缓存一个完整的接口(接近结束)。他基本上没有:

localStorage.setItem('state',f.innerHTML); 

其次:

if('state' in localStorage){ 
    f.innerHTML = localStorage.getItem('state'); 
} 

哪里f是他要缓存的元素。

+0

这正是我以为它可能工作。谢谢你的有趣答案 – buley 2011-02-15 15:28:16