📜  如何在 JavaScript 中设置永不过期的 cookie?

📅  最后修改于: 2021-11-08 05:49:32             🧑  作者: Mango

我们可以使用以下方法在 JavaScript 中设置一个永不过期的 cookie:

先决条件:

  • JavaScript 的中级知识
  • 基本 HTML  

免责声明:所有 cookie 根据 cookie 规范过期。因此,您无法用 JavaScript 编写任何代码块来设置永不过期的 cookie。这是不可能的,而且是事实。

解决方案:但是您可以在 JavaScript 中设置一个过期的 cookie 并选择一些非常大的值作为过期日期,如下所示:

document.cookie = "cookieName= true; expires=Fri, 31 Dec 9999 23:59:59 GMT";

注意:但是浏览器在 2038-01-19 04:14:07之后的日期存在问题,因为 Unix 纪元时间超过 32 位整数。这个问题也被称为2038 年问题 (也称为 Y2038、Epochalypse、Y2k38 或 Unix Y2K)。

因此,您可以设置为大多数 Web 浏览器支持的 cookie 到期日期的最大值是:

231 - 1 = 2147483647 ie. 2038-01-19 04:14:07 

句法:

document.cookie = "cookieName= true; expires=Tue, 19 Jan 2038 04:14:07 GMT";

// OR
const cookieName = "something";
const cookieValue = "something";
const daysToExpire = new Date(2147483647 * 1000).toUTCString();
document.cookie = cookieName + '=' + cookieValue + '; expires=' + daysToExpire;

代码:

HTML



    
    
    
    



输出:

持久饼干