Cookie 不会在所有浏览器中过期/删除

用户8231918

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

如果有人想看,这是该网站的链接:(链接不再可用)单击第一项“毯子和毛巾”,然后从 3 个选项中选择任何项目,将其添加到卡片然后转到购物篮,您应该请参阅左上角“饼干数量 = 5”,如果您订购了更多商品,它会增加,一旦从购物车中删除所有商品,它应该显示“饼干数量 = 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=/";
    }
}
用户8231918

我在删除指定时间错误的 cookie 时发现了这一点,似乎所有其他浏览器都忽略了它,除了 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=" + '' + ";" 因此没有必要=;

谢谢你的帮助非常感谢:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

浏览器何时删除会话Cookie?

来自分类Dev

我无法在Google Chrome中读取Cookie,但可以在所有其他浏览器中读取

来自分类Dev

设置浏览器cookie

来自分类Dev

删除(取消设置)今天之前创建的所有较早的Cookie并创建子目录是否保留在浏览器历史记录中?

来自分类Dev

如何删除Google Chrome浏览器Cookie

来自分类Dev

使用javascript删除浏览器的所有Cookie

来自分类Dev

在智能手机上关闭Chrome浏览器时,会话Cookie不会过期

来自分类Dev

在浏览器关闭时使ASPXAUTH Cookie过期

来自分类Dev

当浏览器关闭时,PHP会话Cookie会过期

来自分类Dev

关闭浏览器时,AngularJS删除所有cookie的方法

来自分类Dev

如果使用yii2,则不会在Google Chrome浏览器中删除Cookie

来自分类Dev

PHP显示Cookie并在浏览器中删除建议

来自分类Dev

重定向后浏览器不会从带有www的域发送cookie

来自分类Dev

尝试查看某些浏览器时意外删除了所有Chrome cookie

来自分类Dev

浏览器如何处理过期的Cookie?

来自分类Dev

Django CSRF Cookie-为什么它不会在浏览器关闭时过期?

来自分类Dev

Cookie不会在C#中过期

来自分类Dev

window.location或window.location.href不会在所有浏览器MVC应用程序中更改值

来自分类Dev

浏览器何时删除会话Cookie?

来自分类Dev

关闭浏览器后,cookie被删除

来自分类Dev

删除(取消设置)今天之前创建的所有较早的Cookie并创建子目录是否保留在浏览器历史记录中?

来自分类Dev

何时在浏览器上删除身份验证Cookie

来自分类Dev

除非定义了过期时间,否则不会在所有目录中设置PHP cookie

来自分类Dev

jQuery cookie不会过期

来自分类Dev

在Chrome浏览器中删除Cookie和缓存

来自分类Dev

关闭浏览器后如何删除或取消设置Cookie?

来自分类Dev

Javascript - cookie,有没有办法一次为所有浏览器编写 cookie?

来自分类Dev

网站不会在 chrome 中向下滚动,但在所有其他浏览器中都可以正常工作

来自分类Dev

Flask 会话 cookie 不会在浏览器关闭时持续存在

Related 相关文章

  1. 1

    浏览器何时删除会话Cookie?

  2. 2

    我无法在Google Chrome中读取Cookie,但可以在所有其他浏览器中读取

  3. 3

    设置浏览器cookie

  4. 4

    删除(取消设置)今天之前创建的所有较早的Cookie并创建子目录是否保留在浏览器历史记录中?

  5. 5

    如何删除Google Chrome浏览器Cookie

  6. 6

    使用javascript删除浏览器的所有Cookie

  7. 7

    在智能手机上关闭Chrome浏览器时,会话Cookie不会过期

  8. 8

    在浏览器关闭时使ASPXAUTH Cookie过期

  9. 9

    当浏览器关闭时,PHP会话Cookie会过期

  10. 10

    关闭浏览器时,AngularJS删除所有cookie的方法

  11. 11

    如果使用yii2,则不会在Google Chrome浏览器中删除Cookie

  12. 12

    PHP显示Cookie并在浏览器中删除建议

  13. 13

    重定向后浏览器不会从带有www的域发送cookie

  14. 14

    尝试查看某些浏览器时意外删除了所有Chrome cookie

  15. 15

    浏览器如何处理过期的Cookie?

  16. 16

    Django CSRF Cookie-为什么它不会在浏览器关闭时过期?

  17. 17

    Cookie不会在C#中过期

  18. 18

    window.location或window.location.href不会在所有浏览器MVC应用程序中更改值

  19. 19

    浏览器何时删除会话Cookie?

  20. 20

    关闭浏览器后,cookie被删除

  21. 21

    删除(取消设置)今天之前创建的所有较早的Cookie并创建子目录是否保留在浏览器历史记录中?

  22. 22

    何时在浏览器上删除身份验证Cookie

  23. 23

    除非定义了过期时间,否则不会在所有目录中设置PHP cookie

  24. 24

    jQuery cookie不会过期

  25. 25

    在Chrome浏览器中删除Cookie和缓存

  26. 26

    关闭浏览器后如何删除或取消设置Cookie?

  27. 27

    Javascript - cookie,有没有办法一次为所有浏览器编写 cookie?

  28. 28

    网站不会在 chrome 中向下滚动,但在所有其他浏览器中都可以正常工作

  29. 29

    Flask 会话 cookie 不会在浏览器关闭时持续存在

热门标签

归档