0

我正在尝试制作一个每 5 秒重复一次的脚本。

将重复的脚本将检查是否存在 cookie。
如果 cookie 不存在,页面将被重定向。
如果 cookie 确实存在,则不会发生任何事情。

饼干工作正常,我唯一的问题是它不会重复!

我正在使用 jQuery 来识别/检查 cookie,并且工作正常。

我想知道代码有什么问题。

我在网上看了很多次,但没有找到我需要的东西。
这是我使用的 cookie 插件:https ://github.com/carhartl/jquery-cookie

var checkcookie = $.cookie('myCookie');

checklogin();
function checklogin(){
    setTimeout(function(){
        if(checkcookie == null){
            //if cookie not set
            window.location.href='/';
        }
        else{
            //if cookie set
        }

    }, 5000);

checklogin();//to recall the script after it is done
}

或者,如果有人有另一种方法来检查 cookie 是否已更改,我很想知道!

4

2 回答 2

2

它工作正常,但您的 cookie 值不会改变 - 它设置一次并且永远。尝试将其包含在您的setTimeout()

checklogin();

function checklogin(){
    setTimeout(function(){
        var checkcookie = $.cookie('myCookie');

        if(checkcookie == null){
            window.location.href='/';
        }
        else{
            //if cookie set
        }

    }, 5000);

    checklogin(); //to recall the script after it is done
}
于 2012-05-23T10:36:45.630 回答
1

如果您这样做,则 checklogin 调用必须在 setTimeout 函数内,否则每次都会立即调用它。

另外我会使用 setInterval 代替,所以你不需要你的递归函数:

setInterval(function(){
    if(checkcookie == null){
        window.location.href='/';
    }else{
        //if cookie set
    }
},5000);
于 2012-05-23T10:38:21.100 回答