2016-03-22 6 views
0

複数のCookieをチェックしてポップアップ表示するかどうかを確認しようとしています。私が1つのクッキーをチェックしているが、両方をチェックしていない限り、私の作品は動作しません。Javascriptで複数のCookieをチェックする方法

$(window).load(function() { 

    var delay = 5000; // milliseconds 
    var cookie_expire = 30; // days (when to show visitor the popup again) 

    //only show popup if the user doesn't have a "hide" cookie set or "Login" cookie set 
    if (($.cookie('hide_popup') != "1" && window.innerWidth > "800") || ($.cookie('Login') == "null" && window.innerWidth > "800")) { 
    $("#popup").delay(delay).fadeIn("fast", function() { 

     $("#popup-signup").load("/popup-content.php", function() { 
     $("#popup-signup").fadeIn("fast", function() { 

     }); 
     }); 
    }); 
    //set the popup to not show again for the set period 
    $.cookie('hide_popup', '1', { 
     expires: cookie_expire, 
     path: '/' 
    }); 
    //close popuop function 
    $("#closepopup").live("click", function() { 

     //hide popup 
     $("#popup, #popup-signup").hide(); 


     $.cookie('hide_popup', '1', { 
     expires: cookie_expire, 
     path: '/' 
     }); 
    }); 
    } 
}); 

私はクッキーを設定し、ログインによって既に設定されているクッキーをチェックしようとしています。

+1

'live'を使用しているjQueryの古いバージョンは引き続きサポートされていますか?なぜ数字を文字列と比較しているのですか? '' 800 ''は引用符を付けてはいけません。 '' null ''は' null'と等しくない – epascarello

+0

これは私がオンラインで見つけたコードです。私はPHPで作業するJavaScriptプログラマーではないので、話すには危険なほど十分理解しています。 –

+0

jQueryコードは、現在のバージョンでは 'live'が廃止予定で削除されているので時代遅れです。 – epascarello

答えて

-1

あなたは私はあなたがこの行にやっていると思うとクッキーは、存在しないかどうかをチェックしたい場合:

if(($.cookie('hide_popup') != "1" && window.innerWidth > "800") || ($.cookie('Login') == "null" && window.innerWidth > "800")) 

あなたがしなければならない。上位のコードで

if(($.cookie('hide_popup') != "1" && window.innerWidth > "800") || ($.cookie('Login') == null && window.innerWidth > "800")) 

クッキーの値が文字列"null"であるかどうかを確認し、空の値nullでない場合はチェックします。

0

数字を比較するときは、数字を引用符で囲むべきではありません。

nullと比較すると、nullを引用符で囲むべきではありません。

if(($.cookie('hide_popup') != "1" && window.innerWidth > 800) || ($.cookie('Login') == null && window.innerWidth > 800)) 
{ 

"1"は引用符にする必要がありますように、それが文字列であるため、クッキーのチェックが細かいです。

関連する問題