每个浏览器会话弹出cookie一次
Popup cookie once per browser session
我有一个非常简单的弹出窗口,我想设置一个cookie,所以当访问者第一次访问页面/类别时,他将能够看到弹出窗口,如果他导航出页面并返回,弹出窗口将不会出现,直到他结束会话(关闭浏览器)。谢谢
<script type="text/javascript">
var link;
var element;
t = setTimeout(openPopUp, 3000);
function openPopUp() {
element = document.getElementById("background");
element.style.display = "block";
element = document.getElementById("popup");
element.style.display = "block";
}
function closePopUp() {
element = document.getElementById("popup");
element.style.display = "none";
element = document.getElementById("background");
element.style.display = "none";
}
</script>
编辑:来自评论:
var createCookie = Openpopup(name, value, days) {
var expires;
if (days) {
var date = new Date();
date.setTime(date.getTime() + (60 * 1000));
expires = ";
expires = " + date.toGMTString();
} else {
expires = "";
}
document.cookie = name + "=" + value + expires + ";
path=/";
}
类似的东西(未经测试的代码):
var link;
// ....
if(getCookie("was_here_before")=="") {
setTimeout(openPopUp, 3000);
createCookie("was_here_before", "yes", 1);
}
// ....
// these are from SO answer in first comment by Sverri M. Olsen
// [ http://stackoverflow.com/questions/4825683/how-do-i-create-and-read-a-value-from-cookie ]
function createCookie(name, value, days) {
var expires;
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toGMTString();
}
else {
expires = "";
}
document.cookie = name + "=" + value + expires + "; path=/";
}
function getCookie(c_name) {
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + "=");
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexOf(";", c_start);
if (c_end == -1) {
c_end = document.cookie.length;
}
return unescape(document.cookie.substring(c_start, c_end));
}
}
return "";
}
// ....
function openPopUp(url) {
var element;
link = url; // don't know what this is for
element = document.getElementById("background");
element.style.display = "block";
element = document.getElementById("popup");
element.style.display = "block";
}
function closePopUp() {
var element;
element = document.getElementById("popup");
element.style.display = "none";
element = document.getElementById("background");
element.style.display = "none";
}
相关文章:
- 有人可以帮助我调试带有addClass和removeClass函数的“每个会话一次”cookie吗?
- 设置javascript cookie每小时过期一次
- 如何设置仅一次显示通知栏的cookie
- 如何删除浏览器在一次请求期间添加的所有 Cookie
- 编辑我的脚本并添加一个jQuery cookie以仅显示一次弹出窗口
- 每个浏览器会话弹出cookie一次
- cookie是jQuery为每个用户只打开一次弹出窗口的唯一方法吗?或者jQuery可以处理IP验证
- 覆盖只显示一次使用cookie
- 限制名称和日期js cookie每次会话只加载一次
- 加载cookie时只重载一次javascript页面
- Cookie显示视频一次
- 使用JQuery Cookie每周显示一次Bootstrap模式
- 如何加载一个DIV只有一次使用cookie jquery
- 如何使用cookie只执行一次JS脚本
- cookie的Value返回"false"每一次
- Cookie自动播放<视频>每次访问仅一次
- 使用 jquery cookie 在加载时运行一次花哨的盒子
- Rails 设置一个 Cookie 以确保只收到一次 Javascript 消息
- 每个浏览器会话 cookie 一次
- Javascript Cookie只提交一次表单