Mar*_*iet 12 jquery offline web-applications local-storage ios
我正在开发一个Web应用程序,它的行为非常类似于iOS和Android的本机应用程序.然而,Javascript文件(jQuery +我自己的)和css文件一起用于移动使用,如果用户没有启用3G,这会使应用程序加载缓慢.
因此我开始考虑离线存储这些文件.然而,除了cache.manifest(据我所知,只有当没有互联网连接启用离线使用时才开始),我找不到这个.理想情况下,我想检查文件是否已经缓存/存储,如果没有,请使用它们,然后再存储它们.
这可能吗?这将减少加载我的应用程序的时间,因为索引文件本身非常小.我仍在努力通过优化减少文件,但在此期间这将有很大帮助.
只是为了提供更多的细节,对不起我以前不清楚.
我已经开始使用HTML5样板构建这个webapp,我的.htaccess文件包含所有JS和CSS文件头,有效期为1年.
但似乎从iOS主屏幕打开应用程序每次都会加载.js和.css文件,就像它们没有被缓存一样.在桌面或甚至iOS Safari Web浏览器上打开网站似乎确实以正确的方式缓存文件,因为Javascript和CSS中的更改仅在手动刷新页面后显示.
看起来打开和关闭以及从主屏幕打开网络应用程序充当刷新,因此每次加载文件,即使它们是通过cache.manifest存储以供离线使用,文件的到期日期是远远落后于未来.
以为我会包含文件的缓存标头.这些似乎没问题.
Cache-Control max-age = 31536000,public
Expires Fri,2012年5月18日17:34:20 GMT
Vary Accept-Encoding,User-Agent
Content-Encoding gzip Keep-Alive timeout = 2,max = 98
应该可以让浏览器缓存像 javascript include 这样的资源(尽管最终这些指令可以被用户覆盖,可能不需要担心)。请参阅此处有关缓存的速成课程。特别是查看 HTTP 标头:
Cache-Control: public
Run Code Online (Sandbox Code Playgroud)
这应该强制浏览器缓存资源。不确定这是否适用于跨会话,例如,如果浏览器关闭并重新打开,但当用户第一次访问您的网站时至少只会发出一个请求,并且不会在后续页面视图中重新请求。
还要确保您的 javascript 包含最小化,并请参阅此处以获取有关加快速度的一般提示。
| 归档时间: |
|
| 查看次数: |
3178 次 |
| 最近记录: |