饼干的替代品

Sni*_*fer 9 javascript browser cookies internet-explorer

我构建了可移植的HTML/Javscript原型,这些原型旨在通过电子邮件/共享点进行压缩和共享.这里的关键词是"便携式" - 运行这些原型不需要服务器 - 只需一个支持JavaScript的浏览器.而且没有数据库.

一些原型要求我保留数据(只是为了展示潜在的功能).我目前通过使用cookie来做到这一点.这似乎适用于Firefox,Chrome等,但Internet Explorer似乎工作方式不同.

一旦来自域的所有cookie的最大大小4096字节在IE6和7中被命中(我还没有测试8),cookie就会停止工作.一旦达到此限制,即使从cookie读取似乎停止发生并且原型中断.

有没有其他方法可以持久保存数据而无需使用服务器和数据库?

任何想法将不胜感激.

Ste*_*ton 6

将数据存储在隐藏字段中(如果需要,甚至可以存储多个字段).

将用于从cookie读取的代码包装到单独文件中的类/函数中,然后您可以轻松地将文件交换为实时/样本实例 - 可能就像注释掉一行一样容易,并且取消注释另一个.

编辑时需要编辑:如果您在多个页面中的隐藏字段中推送数据,这将在多个页面中起作用.如果您不希望从一个页面到下一个页面执行POSTS,那么您可以将页面包装到一个框架中,然后将隐藏字段放在未显示的框架元素中(在此场景中,字段在技术上不需要隐藏).

这是什么,访问的页面有一个FRAME标记,指向两个不同的页面.第一页是您的应用程序本身,它占用了所有可见的空间.第二页只是一个页面,它将保存一个或多个将保留数据的控件,而第二页根本不可见(对用户而言).由于这些页面都是同一个"域"的一部分,因此框架子项与其中一个兄弟姐妹交谈并将数据读/写到隐藏页面的字段是一件容易的事.

并且这绕过cookie限制的方式是文本输入字段在技术上仅受到计算机上的内存和网络吞吐量超时的限制.例如,我之前看过一个隐藏的字段,其中包含20MB的数据(想想最恶毒的ViewStates).


jld*_*ont 5

虽然目前还没有广泛使用,但有HTML5 webstorage/localstorage.