Firefox删除永久性Cookie

时间:2020-02-21 09:13:39

标签: javascript html firefox cookies persistent

我一直在努力使基于html/js的语言选择系统正常工作,为此我需要一个持久的cookie,这样可以在一定时间内节省用户选择的语言。

不幸的是,此cookie被Firefox误认为是活动跟踪cookie(实际上是),因此在会话结束时被删除。

我可以防止这种情况发生吗?

如果此脚本有效,那么我完成的代码也应该有效:

if(document.cookie.indexOf("test=") < 0){
            document.cookie = "test=Hello World; max-age=3600";
        }
else{
            window.location.replace("https://www.youtube.com/");
        }

它应该做什么:

  1. 第一次打开网站时,会设置cookie,并且不会再发生任何事情。
  2. 第二次将用户重定向到youtube.com。

它的作用:

  1. 第一次打开网站时,会设置cookie,并且不会再发生任何事情。
  2. 如果随后刷新或在另一个标签页中打开了网站,则会将用户重定向到youtube.com。但是,如果关闭浏览器或选项卡,则cookie将会丢失,我们将返回步骤1。

1 个答案:

答案 0 :(得分:0)

我不确定,我不是JavaScript专家。但是我注意到,大多数文档建议检查cookie是否存在,建议这样做:document.cookie.indexOf("test="),因此可能不会删除该cookie,而是使用错误的方法检查cookie是否存在。

if(document.cookie.indexOf("test=") < 0){
        document.cookie = "test=Hello World; max-age=3600";
}
else{
        window.location.replace("https://www.youtube.com/");
}