我有以下javascript函数,当前每次访问都会运行。我不想在每次访问时都在此弹出窗口中向访客发送垃圾邮件,因此,我试图绕过cookie并每周运行一次。
setTimeout(function() {
jQuery(document).one('mouseleave', function() {
console.log('mouse left');
jQuery('.open-popup-link').magnificPopup('open');
});
}, 10000);
我将其放置在我在此处找到的cookie函数中,但是没有任何运行,并且控制台中没有错误。
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;
}
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) != -1) return c.substring(name.length,c.length);
}
return "";
}
function checkCookie() {
var pinball = getCookie("pinball");
if (pinball === "") { // Cookie not set
setTimeout(function() {
jQuery(document).one('mouseleave', function() {
console.log('mouse left');
jQuery('.open-popup-link').magnificPopup('open');
});
}, 10000);
setCookie("pinball", "seen", 7);
}
}
我错过了什么或需要做些什么来进行这次跑步?
我同意@MysterX关于本地存储的问题,但是要回答您的问题-通过阅读您的代码-似乎没有调用触发checkCookie()的方法,这意味着没有错误,因为该函数未运行。
您可能应该具有:
$(document).ready(function(){
checkCookie()
})
在代码的第一部分和checkCookie函数中也有错别字-同样的错误-您有:
jQuery(document).one('mouseleave', function() {...
应该是。
jQuery(document).on('mouseleave', function() {...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句