Javascript 每个浏览器会话弹出一次cookie
我有一个非常简单的弹出窗口,我想设置一个cookie,因此当访问者第一次访问页面/类别时,他将能够看到弹出窗口,如果他导航出页面并返回,弹出窗口将不会出现,直到他结束会话(关闭浏览器)。谢谢 类似的内容(未测试的代码):Javascript 每个浏览器会话弹出一次cookie,javascript,php,html,Javascript,Php,Html,我有一个非常简单的弹出窗口,我想设置一个cookie,因此当访问者第一次访问页面/类别时,他将能够看到弹出窗口,如果他导航出页面并返回,弹出窗口将不会出现,直到他结束会话(关闭浏览器)。谢谢 类似的内容(未测试的代码): 可能与我添加的代码重复:我添加了1分钟以检查它是否有效,但没有。我做错了什么?var createCookie=Openpopup(名称、值、天数){var expires;if(天数){var date=new date();date.setTime(date.getTime
可能与我添加的代码重复:我添加了1分钟以检查它是否有效,但没有。我做错了什么?var createCookie=Openpopup(名称、值、天数){var expires;if(天数){var date=new date();date.setTime(date.getTime()+(60*1000));expires=“;expires=“+date.togmString();}否则{expires=“;}document.cookie=name+”=“+value+expires+”;“path=/”;}您应该阅读一些Javascript教程。当你对你正在做的事情有了一个基本的了解后再来。太棒了!它的效果很好。谢谢你花时间解释。这意味着很多。我用一分钟(*60*1000)测试了它,效果如预期。我的问题是-有没有办法为一个浏览器会话设置cookie。每个浏览器会话只能出现一次弹出窗口,如果访问者关闭它并重新打开窗口,它必须再次出现。再次感谢弗朗西斯科,谢谢你,先生@crv是否尝试忽略了days参数<代码>createCookie(“你以前在这里吗”,“是”)显然,这应该设置一个会话cookiecool!工作起来很神奇,只需从参数中删除1,当会话关闭并重新打开时,弹出窗口就可以工作。谢谢在代码中发现冲突。我在弹出窗口中安装了此代码。弹出窗口假设在每一页上弹出。弹出代码已写入各个页面,但当我应用此代码时,弹出仅出现在我关闭浏览器后键入的页面中,即,如果我进入主页,弹出只出现一次,而当我浏览其他页面时,任何页面中都没有弹出。代码被插入到每一页中。我希望弹出窗口在每个会话的所有页面中只显示一次。有什么帮助吗?谢谢
<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";
}