0

5 秒ごとに繰り返すスクリプトを作成しようとしています。

繰り返されるスクリプトは、Cookie が存在するかどうかを確認します。
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 に答える