javascript - 每周运行一次 javascript 函数

标签 javascript cookies

我有以下 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() {...

关于javascript - 每周运行一次 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36056755/

相关文章:

javascript - 如何在 JavaScript 中打印货币格式

javascript - 尽管有凭据 : "include",但未发送 Cookie

android - 使用 .setAcceptThirdPartyCookies 响应 native 应用程序

ruby-on-rails - 通过子域共享一个Cookie

javascript - React Chartjs2 数据集中的过滤对象值数组

javascript - 为什么八进制文字不作为字符串转换为数字?

javascript - 为什么可以使用 require ("../images/restaurants/sea.jpeg"导入图像,但不能使用 require(this.props.image)

javascript - 如何避免 keyup 事件连续 ajax 请求的开销?

jquery - 刷新时保留复选框的值

cookies - Phantomjs - Cookie 未启用错误