除了客户端的cookie之外,有没有办法获得一些持久性数据(如XML文件左右)?我知道直接使用JavaScript是不可能的。但任何其他方式,如Applets或其他东西??
答案 0 :(得分:6)
答案 1 :(得分:5)
最新的浏览器支持HTML5本地存储。
如果客户端不支持HTML 5,则Google Gears插件允许本地存储。
答案 2 :(得分:5)
如果Cookie不够,而且您必须支持旧版浏览器,那么LawnChair可能会提供帮助:http://brian.io/lawnchair/plugins/
它就像一个“沙发”但更小,得到它?花了我几分钟;)。
而且,它确实适用于桌面浏览器,尽管网站上有关于mobile-webkit的信息:https://github.com/brianleroux/lawnchair/blob/master/README.md。
(但是,它使用cookie作为适配器来存储这些旧浏览器的后备数据,大多数此类库可能会,如果由于某些原因不允许使用cookie,这些类型的库可能不适合帐单。)
答案 3 :(得分:2)
我们在很长一段时间内一直使用YUI's local storage wrapper而没有任何问题。该库自动使用最佳可用存储选项,并支持几乎所有浏览器; IE6 +,Firefox2.0 +,以及更新的Safari,Chrome和Opera。
答案 4 :(得分:1)
Html5本地存储肯定是答案,如果您想要一个如何使用此功能的示例,请检查浏览器是否支持它以及如何迭代这些项目检查此链接:http://geoffrey.vandiest.biz/post/2011/04/30/HTML5-Local-Storage.aspx
答案 5 :(得分:1)
这是一个老问题,但有一些非常好的较新的HTML5技术用于客户端存储值得研究。 你现在可以在javascript中完成。
文件系统API 和 IndexedDB 绝对值得关注并应该留下来!
为避免出现安全问题,您在客户端计算机上存储的文件将在客户端进行沙盒化和模糊处理。
文件系统API
File-System API对于尚不支持文件系统API的浏览器,有一个js you can include to get the desired functionality。您可以请求临时或永久存储。使用File-System API对文件大小的唯一限制是客户端硬盘上的可用空间量(加上您请求的配额)。文件系统api中的临时存储最多只能获得几百MB(如果你幸运,可以获得几GB)。对于Web应用程序,我使用带有PERSISTENT storage
的双位数GB,几乎没有问题。
<强>索引资料强>
IndexedDB是一种更广泛的浏览器支持技术。 indexedDB有更多的文件大小限制,通常您可以使用配额请求获得几个大小的MB空间。
答案 6 :(得分:1)
如果您使用的是Google Chrome浏览器FSO.js wraps the asynchronous FileSystem API for you,并且非常易于使用。
这项技术很快就会得到其他浏览器的支持。
答案 7 :(得分:0)
我碰巧偶然发现了这个Wiki页面,其中列出了很多持久的JS商店:https://github.com/bebraw/jswiki/wiki/Storage-libraries