[英]javascript can't get/set cookie in ie7
我必须在2个Cookie字典/键式Cookie中存储用户的首选项,以便在应用程序上隐藏每种表单的某些部分。
看来IE7已达到javascript中 Cookie的数量或大小的一定限制。
我的意思是Cookie只能在客户端js上无法访问,但可以在我们的asp.net/vb后台代码中很好地读取。
需要读取这些cookie值的函数必须在客户端,因为每次该函数需要更新cookie时我都无法运行回发。
我应该如何在不触发回发的情况下获取和设置Cookie? 我曾考虑过将cookie onload的值存储在文本框中,但是我不知道何时读回并更新cookie。
替换答案,因为上一个答案不适用,并且评论变得冗长。
根据浏览器的不同, 每个域最多只能有4KB Cookie数据。
RFC指出,浏览器至少需要支持20个cookie(IE可以支持50个cookie),并且至少需要支持4KB。
但是,可悲的事实是,大多数浏览器都将4KB作为上限。 因此,对于可能在野外使用的应用程序,这些cookie上的所有数据的总和不应超过4KB。
同样,4KB显然是主观的,因为某些浏览器将其表示为4095字节。 奇怪的是那个。
无论如何,当前版本的Chrome和Firefox没有此上限。 IE 9的上限为每个域10,234个字节,每个cookie 5,117个(另一个奇数); 但是,Opera和Safari仍然很旧。 再说一次,如果您正在测试IE,Firefox甚至是Chrome的旧版本,那么也会遇到4KB的限制。
我个人认为,如果您的Cookie大于4KB,那么您可能会遇到一些设计问题,因为您现在对浏览器和服务器之间的最小连接施加了更大的压力。 如果您需要的数据更多,则可能需要设置本地缓存服务器,将数据嵌入页面中,或者至少重新考虑使用cookie的目的。
一个有趣的链接: http : //browsercookielimits.x64.me
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.