Javascript 饼干的替代品

Javascript 饼干的替代品,javascript,internet-explorer,cookies,browser,Javascript,Internet Explorer,Cookies,Browser,我构建了可移植的HTML/Javscript原型,旨在通过电子邮件/sharepoint压缩和共享。这里的关键词是“可移植”——运行这些prorotypes不需要服务器——只是一个支持javascript的浏览器。而且没有数据库 一些原型要求我持久化数据(只是为了展示潜在的功能)。我目前使用cookies来实现这一点。这对Firefox、Chrome等来说似乎很好,但InternetExplorer的工作方式似乎有所不同 一旦在IE6和IE7中达到一个域中所有cookie的4096字节的最大大小

我构建了可移植的HTML/Javscript原型,旨在通过电子邮件/sharepoint压缩和共享。这里的关键词是“可移植”——运行这些prorotypes不需要服务器——只是一个支持javascript的浏览器。而且没有数据库

一些原型要求我持久化数据(只是为了展示潜在的功能)。我目前使用cookies来实现这一点。这对Firefox、Chrome等来说似乎很好,但InternetExplorer的工作方式似乎有所不同

一旦在IE6和IE7中达到一个域中所有cookie的4096字节的最大大小(我还没有测试8),cookie就停止工作。一旦达到这个极限,那么即使是从cookie中读取数据也会停止,原型也会中断

有没有其他方法可以在不使用服务器和数据库的情况下持久化数据


任何想法都将不胜感激。

尽管目前还没有广泛使用,但有HTML5网络存储/本地存储。

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

将用于从Cookies中读取的代码封装到单独文件中的类/函数中,然后您可以轻松地将这些文件交换为live/sample实例——可能与注释掉一行和取消注释掉另一行一样简单

根据评论中的请求进行编辑: 这将跨多个页面工作,前提是您将隐藏字段中的数据推送到多个页面。如果您不希望从一个页面发布到下一个页面,那么您可以将页面包装到一个框架中,然后让隐藏字段位于未显示的框架元素中(在这种情况下,从技术上讲,这些字段不需要是隐藏字段)

这就是,被访问的页面有一个框架标签,它指向两个不同的页面。第一页是应用程序本身,它占据了所有可见的不动产。第二个页面只是一个页面,其中包含一个或多个将保留数据的控件,而第二个页面(对用户)根本不可见。由于这些页面都是同一个“域”的一部分,因此框架子级很容易与其兄弟之一对话,并将数据读/写到隐藏页面的字段中


绕过cookie限制的方法是,文本输入字段在技术上仅受计算机内存和网络吞吐量超时的限制。例如,我以前见过一个隐藏字段,其中包含20MB的数据(想想最邪恶的视图状态).

签出。

将允许您最多保存100k

自从jldupont询问并最初回答此问题以来,HTML5存储API的情况有所进展

目前Opera Mini是唯一不支持它的主流浏览器。


,已于2013年8月22日访问。

不幸的是,该解决方案需要适用于所有主流浏览器。我无法强制客户端使用特定浏览器或升级到最新浏览器。@Sniffer:我理解您的立场。干杯。有趣。我将对此进行研究,尽管我通常使用jQuery库,所以我更喜欢使用该浏览器的jQuery版本s(如果有)。如果没有jQuery版本,您应该能够只使用Dojo的一个子集来获得存储功能。您应该能够在大多数编程中继续使用jQuery。注意:我个人从未在同一个应用程序中混合使用过jQuery和Dojo。有趣的是,我将对此进行研究,尽管我通常使用jQuery l图书馆,所以更愿意使用jQuery版本(如果有)。看起来有一些jQuery选项。不确定它们有多成熟。嗨,Stephen。谢谢你的回答。我正努力想办法解决这个问题。你能不能对此进行一点扩展?这能跨多个页面工作,这是如何解决cookie限制问题的?我喜欢它!谢谢你的澄清。我通常不使用框架,但我在本例中,它是有意义的(直到HTML5获得更广泛的受众)。毕竟,它只用于原型设计。再次感谢。