Javascript 每个用户会话仅显示一次div?

Javascript 每个用户会话仅显示一次div?,javascript,jquery,Javascript,Jquery,用这个怎么办?我有jQuery,如果这有帮助的话 <div id="RLAD-wrapper"> <div id="RLAD"> <p>stuff</p> </div> </div> 东西 这利用localStorage跨会话存储持久状态。您也可以使用cookie: <!DOCTYPE html> <html lang="en"> <head>

用这个怎么办?我有jQuery,如果这有帮助的话

<div id="RLAD-wrapper">
    <div id="RLAD">
        <p>stuff</p>
    </div>
</div>

东西


这利用
localStorage
跨会话存储持久状态。

您也可以使用cookie:

    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

</head>
<body>
<div class="mydiv" style="display: none;">
    this is a div
</div>
<script
        src="https://code.jquery.com/jquery-3.1.1.slim.min.js"
        integrity="sha256-/SIrNqv8h6QGKDuNoLGA4iret+kyesCkHGzVUUV0shc="
        crossorigin="anonymous"></script>
<script>
    $(function() {
        // Cookies
        function setCookie(name, value, days) {
            if (days) {
                var date = new Date();
                date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
                var expires = "; expires=" + date.toGMTString();
            }
            else var expires = "";

            document.cookie = name + "=" + value + expires + "; path=/";
        }

        function getCookie(name) {
            var nameEQ = name + "=";
            var ca = document.cookie.split(';');
            for (var i = 0; i < ca.length; i++) {
                var c = ca[i];
                while (c.charAt(0) == ' ') c = c.substring(1, c.length);
                if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
            }
            return null;
        }

//        Validate cookie
        var myCookie = getCookie("MyCookie");
        if (myCookie == null) {
//                alert('No cookei');
            $('.mydiv').css('display','block');
            setCookie("MyCookie", "foo", 7);
        }
        else {
//                alert('yes cookei');
            $('.mydiv').css('display','none');
        }
    });
</script>
</body>
</html>

标题
这是一个div
$(函数(){
//饼干
函数setCookie(名称、值、天数){
如果(天){
变量日期=新日期();
date.setTime(date.getTime()+(天*24*60*60*1000));
var expires=“;expires=“+date.togmString();
}
else var expires=“”;
document.cookie=name+“=”+value+expires+“path=/”;
}
函数getCookie(名称){
变量nameEQ=name+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i
下面的代码将
localStorage
中的一项设置为
Date.now
,并检查它是否超过3天。该项的设置位于
else
语句中,以防止用户每次运行网站时都重置时间

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Put anything you want here</title>
    </head>
    <body>
        <div id="aDiv">
            Div content
        </div>
        <script>
            if(Date.now() - parseInt(localStorage.getItem("pageVisitedTime").getTime(), 10) < 2.592e+8){
                document.getElementById("aDiv").style.display = "none";
            }
            else{
                localStorage.setItem("pageVisitedTime", "" + Date.now());
            }
        </script>
    </body>
</html>

把你想要的东西放在这里
Div内容
if(Date.now()-parseInt(localStorage.getItem(“PageVisiteTime”).getTime(),10)<2.592e+8){
document.getElementById(“aDiv”).style.display=“无”;
}
否则{
setItem(“pageVisitedTime”,“”+Date.now());
}

你的确切意思是什么?什么是“用户会话”?据我所知,您希望在显示此
的同一页面上编写一个与PHP的会话。然后,如果会话变量存在,则不显示。一旦他们离开你的网站,会议将被取消,下次他们访问时会再次显示。@icecub好的,你有什么建议吗?我只是不想让用户每次都觉得这是强加给他们的。也许每三天?@DerrickStewart当用户登陆页面时,在页面显示后创建一个cookie,然后只需检查该cookie,看看您是否应该显示消息@DerrickStewart-您到底想做什么\允许此div仅在会话开始时显示,而不在客户端返回时显示?这取决于
确切包含的内容。显然,如果它包含重要信息,您不希望等待那么长时间才能再次显示它。另一方面,如果它提醒你做一些对你的访问者不重要的事情:比如说facebook upvote,你不想让它变得烦人。否则你会失去访客。ppl每天都访问你的网站吗?他们一天去几次吗?如果是,则可接受3天。如果没有,您可能希望根据ppl访问您网站的频率将其增加到7天。cookie将是与此BTW配合使用的方式。这不是“用户会话”在浏览器世界中的含义。@bekim不是,那么它是什么?评论中规定了“每三天”。现在,如果“用户会话”真的是它的意思,那就意味着使用
sessionStorage
。但这并不意味着!!!我的代码是这样的。在这种情况下,op需要用他真正的意思来纠正他的问题。@Bekinbaja用户会话的意思是有争议的。有人会说,这是从访问者进入网站的那一刻起到他们离开的那一刻。其他人会说,这是从他们登录的那一刻起,直到他们再次注销,但只是在那一次访问期间。否则它不算作会话。键是
user
。这可以指网站的用户或其成员。因此,我对问题本身的第一个评论是:
什么是“用户会话”
我认为OP需要决定什么是“用户会话”。如果OP在这一特定领域更加具体,我会更新我的答案。尽管如此,我认为这意味着正常时间,不受任何其他因素的影响,因为3天对于上述两种选择来说有点太多了。谢谢大家的帮助!不客气
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Put anything you want here</title>
    </head>
    <body>
        <div id="aDiv">
            Div content
        </div>
        <script>
            if(Date.now() - parseInt(localStorage.getItem("pageVisitedTime").getTime(), 10) < 2.592e+8){
                document.getElementById("aDiv").style.display = "none";
            }
            else{
                localStorage.setItem("pageVisitedTime", "" + Date.now());
            }
        </script>
    </body>
</html>