Javascript Cookie在所有浏览器中均未过期/删除

Javascript Cookie在所有浏览器中均未过期/删除,javascript,php,cookies,Javascript,Php,Cookies,我已经为我的电子商务网站设置了一些cookie来跟踪用户订购的物品,如果用户选择删除这些物品,cookie也应该被删除,但是出于一些奇怪的原因safari没有删除这些cookie。正在删除cookies的任何其他浏览器 这是网站的链接,如果有人想看:(链接不再可用)点击第一个项目“毯子和毛巾”,然后从3个选项中选择任何项目,将其添加到卡中,然后转到购物篮,你应该在左上角看到“饼干数量=5”,如果你订购更多的项目,它将增加,一旦从购物车中删除所有项目,它应该显示“Cookie数量=3”,但在saf

我已经为我的电子商务网站设置了一些cookie来跟踪用户订购的物品,如果用户选择删除这些物品,cookie也应该被删除,但是出于一些奇怪的原因safari没有删除这些cookie。正在删除cookies的任何其他浏览器

这是网站的链接,如果有人想看:(链接不再可用)点击第一个项目“毯子和毛巾”,然后从3个选项中选择任何项目,将其添加到卡中,然后转到购物篮,你应该在左上角看到“饼干数量=5”,如果你订购更多的项目,它将增加,一旦从购物车中删除所有项目,它应该显示“Cookie数量=3”,但在safari中仍然显示5

Javascript

 if(confirm("Are you sure you want to delete this item"))
    {
        var i = 1;
        while(true){
            var value = "; " + document.cookie;
            var parts = value.split("; " + "order"+i + "=");
            if(parts.length === 2){
                var results = parts.pop().split(";").shift();
                var temp = results.split(" ");
                if(temp[0] === id)
                {
                    var d = new Date();
                    d.setTime(d.getTime() + 1000*60*60*24*60);
                    var exp = "expires=" + d.toUTCString();
                    var name = "order"+i;
                    temp[2] = temp[2] - 1; **REmove one item from order**
                    var val = temp[0] + " " + temp[1] + " " + temp[2];
                    if(temp[2] === 0){ **if cookie has 0 items then delete cookie**
                        document.cookie = name + "=" + '' + ";" + '=;expires=Thu, 01 Jan 1970 00:00:01 UTC;'+ ";path=/";
                        setNewTotal();
                    }else{
                        document.cookie = name + "=" + val + ";" + exp + ";path=/";
                        setNewTotal();
                    }
                    window.location.reload(true);
                    break;
                }
            }
            i++;
        }

        window.location.reload(false);
    }else{

    }
}
function setNewTotal(){
    var value = "; " + document.cookie;
    var parts = value.split("; " + "totalOrders=");
    if(parts.length === 2) {
        var results =  parts.pop().split(";").shift();
    }
    results = results - 1;
    var d = new Date();
    if(results === 0){
        document.cookie = "totalOrders=" + '' + ";" + '=;expires=Thu, 01 Jan 1970 00:00:01 UTC;' + ";path=/";
    }else{
        d.setTime(d.getTime() + 1000*60*60*24*60);
        var exp = "expires=" + d.toUTCString();
        document.cookie = "totalOrders=" + results + ";" + exp + ";path=/";
    }
}

我在删除cookies时发现,我指定的时间不对,似乎除了safari之外,其他浏览器都忽略了它

旧代码:

  document.cookie = "totalOrders=" + '' + ";" + '=;expires=Thu, 01 Jan 1970 00:00:01 UTC;' + ";path=/";
新代码

 document.cookie = "totalOrders=" + '' + ";" + 'expires=Thu, 01 Jan 1970 00:00:01 UTC;' + ";path=/";
请注意,”=;expires=Thu,被替换为'expires=Thu,这是因为我已经设置了=“totalOrders=“+”+”;“,因此不需要=

感谢您的帮助,非常感谢:)