Can';t在IE7/IE8中使用javascript创建cookie

Can';t在IE7/IE8中使用javascript创建cookie,javascript,cookies,internet-explorer-8,internet-explorer-7,Javascript,Cookies,Internet Explorer 8,Internet Explorer 7,我正在使用在网站上设置购物车。问题是这些cookie不会在IE7/IE8中创建。因此,每次页面刷新,我们都会丢失购物车中的项目 我一直在看代码,似乎simpleCart使用 关于失败的原因,我能找到的唯一信息是:与IE不喜欢的cookies设置方式有关 我对quirksmode函数进行了如下修改: function createCookie(name,value,days) { if (days) { var date = new Date(); date

我正在使用在网站上设置购物车。问题是这些cookie不会在IE7/IE8中创建。因此,每次页面刷新,我们都会丢失购物车中的项目

我一直在看代码,似乎simpleCart使用

关于失败的原因,我能找到的唯一信息是:与IE不喜欢的cookies设置方式有关

我对quirksmode函数进行了如下修改:

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    value = value.replace(/\=/g, '~');
    console.log(name + "=" + value + expires + "; path=/");
    document.cookie = name + "=" + escape(value) + expires + "; path=/";
    console.log(name + "=" + escape(value) + expires + "; path=/");
}
以下是输出:

sc_simpleCart_1=id~c2||name~British%20Curry%20Powder||price~3.5||quantity~4; expires=Thu, 18 Aug 2011 15:58:16 GMT; path=/
sc_simpleCart_1=id%7Ec2%7C%7Cname%7EBritish%2520Curry%2520Powder%7C%7Cprice%7E3.5%7C%7Cquantity%7E4; expires=Thu, 18 Aug 2011 15:58:16 GMT; path=/
我认为这可能与空格字符有关,但我用连字符替换了它们,这没什么区别

这里实际上有一个站点的实时版本:尝试将一个项目添加到购物车中,并刷新IE8中的页面以亲自查看问题

非常感谢,,
Rich.

好的,我已经猜出来了

基本上simpleCart.js使用的是quirksmode函数的稍微修改版本,它们在cookie数据上使用了escape()和unescape()函数,IE根本不喜欢这样

我只是简单地用原件替换了它们,它就工作了