Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使div/popup在浏览器中显示一次。素描_Javascript_Html - Fatal编程技术网

Javascript 如何使div/popup在浏览器中显示一次。素描

Javascript 如何使div/popup在浏览器中显示一次。素描,javascript,html,Javascript,Html,//JavaScript文档 我正在尝试这样做,当用户进入浏览器时,它只显示一次。我知道这与本地存储有关,但当我搜索类似的东西时,我看到的只是jquery 我真的很想知道如何在纯javascript中使用jquery (function() { "use strict"; console.log("SEAF Fired"); function popup (hideOrshow){ if (hideOrshow == 'hide')

//JavaScript文档

我正在尝试这样做,当用户进入浏览器时,它只显示一次。我知道这与本地存储有关,但当我搜索类似的东西时,我看到的只是jquery

我真的很想知道如何在纯javascript中使用jquery

(function() {
    "use strict";
    console.log("SEAF Fired");  

    function popup (hideOrshow){
        if (hideOrshow == 'hide') 
        document.getElementById("popupBox").style.display="none";
        else document.getElementById("popupBox").style.display="block";
    }

    window.onload = function (){
        setTimeout(function(){
            popup('show');
        },3000);

        document.getElementById('close').onclick=function(){
            document.getElementById('popupBox').style.display="none"
        };          
    }
})();

有关本地/会话存储的更多信息,请参见此处;

我鼓励您使用会话存储,而不是本地存储

为什么?

window.localStorage-存储没有过期日期的数据

window.sessionStorage-存储一个会话的数据(关闭浏览器选项卡时数据丢失)

假设您的浏览器支持本地存储,而您不支持本地存储

if (!window.sessionStorage.popupFlag) {
   // Logic to show popup once goes here...
   window.sessionStorage.popupFlag = true;
}

有关本地/会话存储的更多信息,请参见此处;

我鼓励您使用会话存储,而不是本地存储

为什么?

window.localStorage-存储没有过期日期的数据

window.sessionStorage-存储一个会话的数据(关闭浏览器选项卡时数据丢失)

假设您的浏览器支持本地存储,而您不支持本地存储

if (!window.sessionStorage.popupFlag) {
   // Logic to show popup once goes here...
   window.sessionStorage.popupFlag = true;
}

您可以使用
Cookie
来执行此操作。我已经使用
Cookie
功能覆盖了
popup
方法中
hideOrshow
的值。如果一旦显示弹出窗口并设置cookie,则下次将不显示弹出窗口

请检查以下代码:

(function() {
        "use strict";
        console.log("SEAF Fired");  

        function setCookie(cname, cvalue, exdays) {
                var d = new Date();
                d.setTime(d.getTime() + (exdays*24*60*60*1000));
                var expires = "expires="+ d.toUTCString();
                document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
        }

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

        function popup (hideOrshow){
                hideOrshow = getCookie("hideOrshow");
                if(hideOrshow == ""){
                    hideOrshow = "hide";
                    setCookie("hideOrshow", hideOrshow, 365);
                }
                if (hideOrshow == 'hide') 
                document.getElementById("popupBox").style.display="none";
                else document.getElementById("popupBox").style.display="block";
        }

        window.onload = function (){
                setTimeout(function(){
                        popup('show');
                },3000);

                document.getElementById('close').onclick=function(){
                        document.getElementById('popupBox').style.display="none"
                };          
        }
})();
(函数(){
“严格使用”;
控制台日志(“SEF点火”);
函数setCookie(cname、cvalue、exdays){
var d=新日期();
d、 设置时间(d.getTime()+(exdays*24*60*60*1000));
var expires=“expires=“+d.toutString();
document.cookie=cname+“=”+cvalue+”;“+expires+”;path=/”;
}
函数getCookie(cname){
变量名称=cname+“=”;
var decodedCookie=decodeURIComponent(document.cookie);
var ca=decodedCookie.split(“;”);

对于(var i=0;i您可以使用
Cookie
来执行此操作。我已使用
Cookie
功能覆盖
popup
方法中
hideOrshow
的值。如果一旦显示弹出窗口并设置了Cookie,则下次将不会显示弹出窗口

请检查以下代码:

(function() {
        "use strict";
        console.log("SEAF Fired");  

        function setCookie(cname, cvalue, exdays) {
                var d = new Date();
                d.setTime(d.getTime() + (exdays*24*60*60*1000));
                var expires = "expires="+ d.toUTCString();
                document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
        }

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

        function popup (hideOrshow){
                hideOrshow = getCookie("hideOrshow");
                if(hideOrshow == ""){
                    hideOrshow = "hide";
                    setCookie("hideOrshow", hideOrshow, 365);
                }
                if (hideOrshow == 'hide') 
                document.getElementById("popupBox").style.display="none";
                else document.getElementById("popupBox").style.display="block";
        }

        window.onload = function (){
                setTimeout(function(){
                        popup('show');
                },3000);

                document.getElementById('close').onclick=function(){
                        document.getElementById('popupBox').style.display="none"
                };          
        }
})();
(函数(){
“严格使用”;
控制台日志(“SEF点火”);
函数setCookie(cname、cvalue、exdays){
var d=新日期();
d、 设置时间(d.getTime()+(exdays*24*60*60*1000));
var expires=“expires=“+d.toutString();
document.cookie=cname+“=”+cvalue+”;“+expires+”;path=/”;
}
函数getCookie(cname){
变量名称=cname+“=”;
var decodedCookie=decodeURIComponent(document.cookie);
var ca=decodedCookie.split(“;”);

对于(var i=0;我知道它有效!我只是想知道如何重置cookie…lol我尝试在浏览器中删除cookie,但显然它没有显示。即使我尝试不同的浏览器,也没有重置cookie,您应该设置过期cookie。例如:
setCookie(“hideOrshow”,hideOrshow,-1)
有效!我只是想知道如何重置cookie…哈哈,我试图在浏览器中删除cookie,但显然没有显示出来。即使我尝试了不同的浏览器,但仍然没有重置cookie,你应该设置过期cookie。例如:
setCookie(“hideOrshow”,hideOrshow,-1);