客户端持久化存储
除了客户端的 cookie 之外,是否有任何方法可以保留一些持久数据(例如 XML 文件等)?我知道直接用 JavaScript 是不可能的。但还有其他方式,比如小程序之类的吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
除了客户端的 cookie 之外,是否有任何方法可以保留一些持久数据(例如 XML 文件等)?我知道直接用 JavaScript 是不可能的。但还有其他方式,比如小程序之类的吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
如果 cookie 还不够,并且您必须支持较旧的浏览器,那么 LawnChair 可能会有所帮助:http://brian. io/lawnchair/plugins/
它就像一个“沙发”,但更小,明白了吗?花了我几分钟;)。
而且,它确实适用于桌面浏览器,尽管网站上有关于 mobile-webkit 的简介: https://github.com/brianleroux/lawnchair/blob/master/README.md。
(但是,它使用 cookie 作为适配器来存储旧浏览器上的回退数据,大多数此类库可能会,如果由于某种原因不允许您使用 cookie,这些类型的库可能不符合要求。)
If cookies won't suffice, and you have to support older browsers, then LawnChair might help: http://brian.io/lawnchair/plugins/
It's like a "Couch" but smaller, get it? Took me a few minutes ;).
And, it does work for desktop browsers, despite the blurb on the site about mobile-webkit: https://github.com/brianleroux/lawnchair/blob/master/README.md.
(But, it uses cookies as the adapter to store data for the fallback on those older browsers, most such libraries probably will, if you're not allowed to use cookies for some reason, these types of libraries might not fit the bill.)
最新的浏览器支持 HTML5 本地存储。
如果客户端不支持 HTML 5,则 Google Gears 插件允许本地存储。
The latest browsers are supporting HTML5 Local Storage.
If the client doesn't support HTML 5, the Google Gears plugin allows local storage.
我们已经使用 YUI 的本地存储包装有一段时间了,没有任何问题。该库自动使用最佳可用存储选项并支持几乎所有浏览器; IE6+、Firefox2.0+ 以及更新的 Safari、Chrome 和 Opera。
We have been using YUI's local storage wrapper without any issue for quite some time. The library automatically uses best available storage option and supports almost all browsers; IE6+, Firefox2.0+, and newer Safari, Chrome and Opera.
Html5 本地存储绝对是答案,如果您想要有关如何使用此功能的示例,检查浏览器是否支持它以及如何迭代项目,请检查此链接:http://geoffrey.vandiest.biz/post/2011/04/30/HTML5-Local-Storage.aspx< /a>
Html5 local storage is definitely the answer, if you want an example on how to use this feature , check if the browser supports it and how to iterate over the items check this link: http://geoffrey.vandiest.biz/post/2011/04/30/HTML5-Local-Storage.aspx
这是一个老问题,但是有一些非常好的用于客户端存储的较新 HTML5 技术值得研究。 您现在可以在 javascript 中完成此操作。
文件系统 API 和 IndexedDB 绝对值得研究,并且应该保留下来!
为了避免安全问题,您存储在客户端计算机上的文件在客户端被沙箱化和混淆。
文件系统 API
文件系统 API 和对于尚不支持文件系统 API 的浏览器,您可以包含一个 js 来获取所需的功能。您可以请求临时或永久存储。文件系统 API 对文件大小的唯一限制是客户端硬盘上的可用空间量(加上您请求的配额)。文件系统 api 中的临时存储最多只能为您提供几百 MB(如果幸运的话,可以为几 GB)。我使用两位数的 GB 和
持久存储
来存储 Web 应用程序,几乎没有任何问题。IndexedDB
IndexedDB 是一种更广泛的浏览器支持技术。 indexedDB 有更多的文件大小限制,通常您最多可以使用配额请求获得数百 MB 的空间。
This is an old question, but there are some really nice newer HTML5 technologies for client-side storage worth looking into. you can do it in the javascript now.
The File-System API and IndexedDB are definitely worth looking into and should be around to stay!
To avoid security issues the files you store on the client machines are sandboxed and obfuscated on the client side.
File-System API
File-System API and for the browsers that don't yet support the File-System API there is a js you can include to get the desired functionality. You can request Temporary or Persistent Storage. The only limitation to your file size with the File-System API is the ammount of free space on the client's harddrive (coupled with the quota you request). Temporary storage within the file-system api will only get you several hundred MB max (a couple GB if you are lucky). I use double digit GBs with
PERSISTENT storage
for web applications with little to no issues.IndexedDB
IndexedDB is a more widely browser supported technology. There are more file size limitations for indexedDB, typically you'll be able to get up to a couple hunded MB of space using Quota requests.
如果您使用的是 Google Chrome,FSO.js 会为您封装异步 FileSystem API,并且非常易于使用。
这项技术应该很快就会得到其他浏览器的支持。
If you're working in Google Chrome, FSO.js wraps the asynchronous FileSystem API for you and is very easy to use.
This technology should be supported by other browsers soon.
我偶然发现了这个 Wiki 页面,其中列出了许多持久性 JS 存储: https:/ /github.com/bebraw/jswiki/wiki/Storage-libraries
I happened to stumble across this Wiki page that lists down a lot of persistent JS stores : https://github.com/bebraw/jswiki/wiki/Storage-libraries