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