使用Cookies在javascript中设置警报
我想创建一个脚本,当用户打开网站时,他或她会受到提示的欢迎,并且在提示后会说欢迎,而且还会在提示中输入什么将设置一个cookie 1分钟,我所面临的问题是:
1.警报显示不出来
2. cookie将不设置使用Cookies在javascript中设置警报
function checkCookie()
{
var username=getCookie("username");
if (username!=null && username!="") {
alert("Welcome again "+ username);
}
else {
username=prompt("Please input name:","");
if (username !=null && username!="") {
setCookie("username", username, 365);
}
else {
alert("Error");
}
}
}
function setCookie (cname,cvalue,exdays)
{
var d = new Date();
d.setTime (d.getTime()+ (10*1000));
var expires ="; expires= "+ d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires; +"; path /";
}
function getCookie(cname)
{
var name = cname + "=";
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);
}
if (c.indexOf(name) == 0){
return c.substring(name.length, c.length);
}
}
return "";
}
尝试用var expires ="; expires= "+ d.toUTCString();
更换var expires ="; expires= "+ d.toGMTString();
过期时间保存为Unix tim estamp。
编辑: 您还需要执行函数checkCookie。我认为这很明显。
我的问题是循环不shwo警报 –
什么循环,你的意思是? – 2016-11-13 11:25:52
这里是你的代码的的jsfiddle: https://jsfiddle.net/19yp8ucd/3/。 它工作正常。你只需要调用checkCookie()函数。
checkCookie();
请参阅小提琴的.js中的最后一行。
此外,您没有使用setCookie()函数中的天数。你可以在这里检查setCookie(),getCookie(),eraseCookie()的一个很好的实现:https://*.com/a/24103596/3946520
你是否尝试过日志记录以查看哪部分代码为什么不工作。你可以用console.log()来试试吗? – MatejMecka
在控制台中没有错误 –
我敢打赌,你的代码没有什么问题它只是到期时间很短(只需10秒) – Viney