当用户单击具有以下“OnClick”处理程序的表单上的按钮时,我设置了一个 cookie...
<input type="button"
OnClick="
alert(document.cookie);
var d;
d = new Date();
d.setDate(d.getDate() + 365);
document.cookie = 'LanguageReference' + '=' + document.forms[0].UserSelectedLanguage.value + ';expires=' + d.toGMTString();
document.forms[0].submit();" >
这很好用,但是当我显示 document.cookie 的内容以及多次更改“LanguageReference”的值时,我注意到它有一些奇怪的行为。 “LanguageReference”cookie 将以不同的值多次出现在 document.cookie 下。
这就是我得到的...
LanguageReference=en;LanguageReference=fr;... bunch of other cookies ...
奇怪的是,这似乎并没有影响 cookie 的检索,这很好。我总是得到我想要的。但我担心可能有一个我没有完全理解的潜在问题会阻碍我前进。
最佳答案
在 javascript 中,cookie 被视为 ;和 = 分隔的字符串。在添加新 cookie 之前,您应该清除前一个。 cookie 处理程序类(或框架的相关部分)让您的生活更轻松。
关于javascript - 保存了两个同名但值不同的 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2111187/