Javascript 如何使用cookie仅执行一次JS脚本
我只想在用户第一次看到我的网站时执行此脚本:Javascript 如何使用cookie仅执行一次JS脚本,javascript,cookies,Javascript,Cookies,我只想在用户第一次看到我的网站时执行此脚本: var applicationId = "MyAppID"; var clientKey = "MyClientKEY"; document.addEventListener("deviceready", function(){ window.parsepushnotification.setUp(applicationId, clientKey); //registerAsPushNotificationClient callback (
var applicationId = "MyAppID";
var clientKey = "MyClientKEY";
document.addEventListener("deviceready", function(){
window.parsepushnotification.setUp(applicationId, clientKey);
//registerAsPushNotificationClient callback (called after setUp)
window.parsepushnotification.onRegisterAsPushNotificationClientSucceeded = function() {
alert('Verified!');
};
window.parsepushnotification.onRegisterAsPushNotificationClientFailed = function() {
alert('Not verified, contact an admin.');
};
}, false);
我能做什么
我尝试使用这个cookie方法,但它不起作用
function setCookie(cname,cvalue,exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname+"="+cvalue+"; "+expires;
}
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 "";
}
function checkCookie() {
var visited=getCookie("visited");
if (visited != "") {
// NOTHING BECAUSE THE USER VISITED THE PAGE
} else {
// EXECUTE JS SCRIPT ABOVE BECAUSE IS THE FIRST TIME THAT THE USER SEE THE PAGE
setCookie("visited", ok, 30);
}
}
函数setCookie(cname、cvalue、exdays){
var d=新日期();
d、 设置时间(d.getTime()+(exdays*24*60*60*1000));
var expires=“expires=“+d.togmString();
document.cookie=cname+“=”+cvalue+”;“+expires;
}
函数getCookie(cname){
变量名称=cname+“=”;
var ca=document.cookie.split(“;”);
对于(var i=0;i在案例中发布此答案。此行:
setCookie("visited", ok, 30);
…可能是问题所在。我在您的页面中没有看到ok
变量。如果您将其替换为字符串,它可能会工作:
setCookie('visited', 'ok', 30);
另外,togmstring()
已被弃用;请改用toutstring()
。我感觉您试图在浏览器中运行计算机上的文件。为了使此代码正常工作并正确设置cookie,必须从Web服务器加载页面
编辑:
另外,正如Jacob所说,您应该是具有非空值的cookie
setCookie("visited", 'ok', 3);
而不是
setCookie("visited", ok, 3);
假设您的目标浏览器支持它(IE8+),我会使用localStorage
而不是cookies。它更简单。setCookie(“已访问”,ok,30)
是打字错误吗?什么是ok
?这应该是字符串'ok'
?短语“不起作用”对我们没有太大帮助。你在控制台中有JavaScript错误吗?如果没有,脚本具体做了什么与你期望的相反?@levi我怎么做?@Jacob“ok”是cookie的值。我希望当用户访问页面时,他有一个cookie,记住他已经访问了页面,所以上面的JS脚本不会执行。函数checkCookie(){var visted=getCookie(“cookie”);if(visted!=“ok”){alert(“cookie ok”);}else{alert(“创建cookie…”);setCookie('cookie',ok',30);}}你的if语句不是倒过来的吗?应该是if(visted=='ok')
。目前,你只需要将cookie设置为'ok'
,如果它已经设置为'ok'
。我已经尝试过了,但它总是说“创建cookie…”…:/对我有效:。如果我运行一次,它会检测到cookie不存在。第二次,它检测到了。你只是在阻止cookie吗?我在我的Web服务器上上载了该页面,现在它工作得很好…也许这就是问题所在!哈哈哈