用于资产(样式表、JavaScript、图像等)的 HTML5 localStorage
-
22-09-2019 - |
题
为了节省客户端下载时间和网络使用量,是否可以使用 HTML5 的 localStorage 功能来存储链接样式表、javascript 文件和二进制数据的内容(例如图片),而不是每次都访问服务器?
这会让事情变得复杂吗 - 因为我假设您必须通过 JavaScript 添加链接的资源,而不仅仅是 script
或者 link
元素,破坏未启用 JavaScript 的页面)?除非你可以解析内容(使用 HEAD
请求在浏览器下载之前检查上次修改日期和其他标头)。
或者最好只是坚持下去 304 Not Modified
和 eTag
标题?
解决方案
我认为在这种情况下你应该考虑离线缓存:
您还可以将用户输入数据存储在 localStorage 或 sessionStorage 中:
- https://developer.mozilla.org/en/DOM/Storage#sessionStorage
- https://developer.mozilla.org/en/DOM/Storage#localStorage
不要使用 globalStorage (不是标准)。
我写过一篇关于离线的文章,请参阅: http://hacks.mozilla.org/2010/01/offline-web-applications/
这是关于离线的,但这种机制可以用来增强你的网络应用程序。
其他提示
您可以Base64编码,图像/二进制数据,并将其存储在localStorage的字符串,使用Base64网址,并在一些浏览器不工作,所以它不是一个完美的解决方案。
CSS和JS就可以了,你可以把它们写入到页面,或使用一个base64网址也。
我就这样做这打破了非JS用户的网站,是JS不用担心被禁用你不能访问localStorage的反正。
不隶属于 StackOverflow