如何每次会话一次关闭一次



我写了此简单的代码,用于关闭X后关闭跨度,但是每次我刷新页面或进入另一个页面时,它都会加载。

function close() {
                var x = document.getElementById("header"); {
                        x.style.display = "none";
                }
        }

这是PHP中的代码:

<div id="header">
    <span style="vertical-align: middle; padding-top: 20px; font-weight: bold;"><a href=""><b></b></a></span>
    <div class="close-btn" style="position: absolute; display: inline-block; top: -4px; padding-right: 6px; color: #fff;"><span class="rwd-buttinette-icon rwd-icon-remove-circle-1" onclick="close()" style="float: right;"></span></div>
</div>

我已经尝试了SessionStorage,但无法使其正常工作:

if (sessionStorage.getItem('Once') !== 'true') {
        function close() {
                var x = document.getElementById("header"); {
                        x.style.display = "none";
                }
        }
    sessionStorage.setItem('Once','true');
   }

我只想加载一次,直到关闭并为该会议关闭。有人可以帮我吗?

关闭跨度添加cookie,例如:

document.cookie = "popup=closed";

然后,您可以在再次显示跨度之前检查cookie,例如:

isClosed = document.cookie.replace(/(?:(?:^|.*;s*)popups*=s*([^;]*).*$)|^.*$/, "$1") === "closed";
if(isClosed) {
    displayMySpan();
}

您可以在此处阅读有关JS Cookie的更多信息。

对于基于PHP的解决方案,您仍然可以在关闭跨度后设置cookie,例如:

document.cookie = "popup=closed; path=/";

然后在您的PHP代码中您需要以下内容:

if (isset($_COOKIE['popup']) && $_COOKIE['popup'] === "closed") {
    //code to display div here
};

最新更新