将 cookie 设置为每个会话仅显示 div 一次

Set cookie to show div only once per session

我有一个 div,在索引页之前显示一条欢迎消息,我希望 div 每个会话只出现一次。

如何设置 cookie 以仅显示 div 一次?

我以前从来没有为这样的事情使用过 cookie,通常我会使用本地存储,但这个网站经常被旧浏览器访问,这是一个问题。

您可以查看 document.cookie 的文档,更具体地说是示例 3:

if (document.cookie.replace(/(?:(?:^|.*;\s*)someCookieName\s*\=\s*([^;]*).*$)|^.*$/, "") !== "true") {
    alert("Do something here!");
    document.cookie = "someCookieName=true; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/";
}

在此示例中,cookie 是使用 expires 标志创建的,这意味着它将持久存在并在浏览器重新启动后继续存在。如果您只想在每个浏览器会话中执行一次操作,只需在设置 cookie 时删除 expires 标志:

if (document.cookie.replace(/(?:(?:^|.*;\s*)someCookieName\s*\=\s*([^;]*).*$)|^.*$/, "") !== "true") {
    alert("Do something here!");
    document.cookie = "someCookieName=true; path=/";
}