首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >你能在localStorage中存储JavaScript和CSS文件来提高在线web应用的性能吗?

你能在localStorage中存储JavaScript和CSS文件来提高在线web应用的性能吗?
EN

Stack Overflow用户
提问于 2011-05-20 01:22:27
回答 4查看 3.4K关注 0票数 12

我正在开发一个web应用程序,它的行为非常类似于iOS和Android的原生应用程序。然而,Javascript文件(jQuery +我自己的)和css文件对于移动用户来说是相当大的,如果用户没有启用3G,这会使应用程序加载速度变慢。

因此,我开始考虑离线存储这些文件。然而,除了cache.manifest (据我所知,它只在没有互联网连接的情况下才能离线使用),我还没有找到解决这个问题的方法。理想情况下,我希望检查文件是否已经缓存/存储,如果没有,使用它们,然后为下一次存储它们。

这个是可能的吗?这将减少加载我的应用程序的时间,因为索引文件本身非常小。我仍然在努力通过优化来精简文件,但这将在此期间帮助很大。

编辑:

只是为了提供更多的细节,如果我之前说得不清楚,很抱歉。

我已经开始使用HTML5样板构建这个year应用程序,并且我的.htaccess文件包含所有的JS和CSS文件头,过期日期为1年。

但似乎每次从iOS主屏幕打开应用程序都会加载.js和.css文件,就像它们没有缓存时的情况一样。在桌面甚至iOS Safari web浏览器上打开网站似乎确实以正确的方式缓存了文件,因为Javascript和CSS中的更改只有在手动刷新页面后才会显示出来。

似乎从主屏幕打开和关闭web应用程序就像刷新一样,因此每次都会加载文件,即使它们是通过cache.manifest存储以供离线使用,并且文件的到期日期设置为很久以后的日期。

编辑2:

我想我应该包括文件的缓存头。这些看起来都没问题。

缓存控制最大年龄=31536000,公共

截止日期: 2012年5月18日17:34:20 GMT

不同的接受编码、用户代理

内容编码gzip Keep-Alive timeout=2,max=98

EN

回答 4

Stack Overflow用户

发布于 2011-05-20 01:35:51

Stack Overflow用户

发布于 2011-05-20 01:32:03

应该可以让浏览器缓存javascript include这样的资源(尽管最终这些指令可以被用户覆盖,可能不需要担心)。有关缓存的速成教程,请参阅here。特别是,请参阅HTTP标头:

代码语言:javascript
复制
Cache-Control: public

这将强制浏览器缓存该资产。不确定这是否适用于会话,例如浏览器是否关闭并重新打开,但当用户第一次访问您的站点时,至少会发出一个请求,并且不会在随后的页面查看中重新请求。

还要确保你的javascript包含的内容被最小化,并查看here获取关于加速的一般提示。

票数 1
EN

Stack Overflow用户

发布于 2011-06-19 13:53:05

iOS不会缓存超过25k的资源。localStorage应该可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6062429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档