在 localstorage 中存储 JS 和 CSS 有啥意义?
Posted
技术标签:
【中文标题】在 localstorage 中存储 JS 和 CSS 有啥意义?【英文标题】:What is the point of storing JS and CSS in localstorage?在 localstorage 中存储 JS 和 CSS 有什么意义? 【发布时间】:2013-12-23 05:16:02 【问题描述】:在阅读 Stoyan Stefanov 的 web performance daybook 时,我遇到了以下情况:
Google 和 Bing 将 javascript 和 CSS 存储在 localStorage 中以改进 他们的移动网站性能
和link 到带有描述的博客。尽管如此,我读过它(并且有使用本地存储的合理经验),但我仍然无法理解这种行动的意义何在。在我看来,浏览器已经在做缓存 CSS 和 JS 的工作,绝对没有必要将它们存储在本地存储中。
谁能用简单的英文解释一下是什么原因?
PS 一开始我以为这可能与移动浏览器的缓存大小有关,但是当我检查时发现它们有超过 20Mb 的缓存(在我看来)足以确保像 google 和 bing 这样的流行网站有缓存的地方。
【问题讨论】:
我想知道他是从哪里得到的——我的浏览器的localStorage
google.com 和 bing.com 包含零个 JavaScript 或样式表。
你试过手机版还是桌面版?
【参考方案1】:
+1,好问题。我能想到的唯一原因是加载时间的速度,在那些情况下它不再存储在缓存中。此外,正如您链接到的帖子所指出的,它使他们的 html 文件小了很多---200kb 到 39kb 是一个很大的区别。
编辑:
您问在什么情况下它不再在缓存中。根据我对缓存工作原理的理解,我相信缓存大小是固定的,所以一段时间后这些文件会被推出以腾出空间容纳更多文件。希望对你有帮助
【讨论】:
但是为什么不会在浏览器中缓存呢? 一开始我也有这个想法,但是后来我检查了当前移动浏览器的缓存大小。他们有超过 20Mb 的缓存(在我看来)足以确保像 google 和 bing 这样的流行网站有缓存的地方。 @SalvadorDali 当有人清除缓存时,或者当网络浏览器在每个会话中检查一次服务器时。所以当会话结束时,浏览器不需要从服务器重新下载这些文件。另外,如果有人填满了他们的缓存怎么办?使用本地存储,可以防止这种情况发生 @SalvadorDali - 我不记得确切的数字,但对于简单的浏览器缓存,限制以兆字节为单位,它是共享>,而不是每个站点。 localStorage 只是提供更多空间并允许自定义缓存解决方案以上是关于在 localstorage 中存储 JS 和 CSS 有啥意义?的主要内容,如果未能解决你的问题,请参考以下文章
JS惰性删除和定时删除可过期的localStorage缓存,或sessionStorage缓存
JS惰性删除和定时删除可过期的localStorage缓存,或sessionStorage缓存