Javascript IE 9中的重复cookies

Javascript IE 9中的重复cookies,javascript,internet-explorer,http,cookies,Javascript,Internet Explorer,Http,Cookies,我使用(客户端)cookies(javascript)存储用户从一个会话到下一个会话以及从一页到另一页选择的键/值对。Chrome、Safari和Firefox似乎明白一个键只能有一个值,但IE却持不同观点。 例如: 我有一个功能(“viewMode”),可以采用四个用户可选值中的一个:-2、-1、0或1。 当我设置cookie时,我给它一个有效期为今天+100天 function setCookie(c_name, value, expireDays) { expireDays *=

我使用(客户端)cookies(javascript)存储用户从一个会话到下一个会话以及从一页到另一页选择的键/值对。Chrome、Safari和Firefox似乎明白一个键只能有一个值,但IE却持不同观点。 例如: 我有一个功能(“viewMode”),可以采用四个用户可选值中的一个:-2、-1、0或1。 当我设置cookie时,我给它一个有效期为今天+100天

function setCookie(c_name, value, expireDays) {
    expireDays *= 1;
    var expireDate = new Date();
    expireDate.setDate(expireDate.getDate() + expireDays);
    var c_value = escape(value) + ((expireDays == null) ? "" : "; expires=" + expireDate.toUTCString());
    document.cookie = c_name + "=" + c_value; 
}
默认值为0。当用户选择值(例如1)时,生成一个调用

setCookie("viewMode", 1, 100); 
IE存储了这两个值,但其他人理解密钥已被覆盖的概念。 下面是HTTP GET的cookie组件,用于下一次加载:

Cookie: dispText=FileName; viewMode=0; MultiTrack=0; showClouds=0; smokeTrailLength=256; IGCAltSource=0; HideTracks=0; ColorSpeed=1; showCompass=0; viewMode=1; chosenDirectoryPath=C%3A%5CAlan%5CSTarTraXdata%5CTestTracks; IGCAltSource=1; showCockpitInstruments=0; showJavaOPenPopup=0; dispText=None; smokeTrailLength=-1; PHPSESSID=d96b0827725b1e6e313dcdfddfaed0a0
如您所见,cookie“viewMode”出现两次,一次为viewMode=0,一次为viewMode=1。 所以cookie真的是一个键/值对吗?
我看到一些帖子建议Cookie是一个键/值/日期三元组,但这似乎在其他地方不受支持,我在W3C doco中找不到该规范。

这不是答案,但我的问题通过解决办法得到了解决! 我甚至尝试通过以下方式删除viewMode cookie:

document.cookie="viewMode =; expires=15/02/2003 00:00:00"; 
没有任何成功

在一阵愤怒中,我删除了我所有的IE cookies,现在一切正常

看起来“viewMode=1”cookie是某种怪物(“cookiemonster”明白了,哈哈),对被更改或删除没有反应。 现在,我的页面正在按照预期愉快地更新viewMode cookie

所以我有工作要做,但我还是很想知道到底发生了什么