2016-11-21 10 views
0

私のコードは動作していません。その目的は、その言語に以前のクッキーが設定されているかどうかをチェックすることです。そうでなければ、選択された言語を格納するためのクッキーを作成します。言語セレクタCookie

<script type="text/javascript"> 

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 + ";path=/"; 
} 

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) == 0) { 
      return c.substring(name.length, c.length); 
     } 
    } 
    return ""; 
} 

function checkCookie() { 
    var languageSet = getCookie("setLanguage"); 
    if (languageSet != "" || languageSet != null) { 
     return null; 
    } else { 
      jQuery.fancybox("#selectFlagDiv"); 
      setCookie("setLanguage", setLanguage, 365); 
     } 
} 
+0

クッキーが設定されているかどうか確認できますか? –

+0

クッキーが設定されていません。 – Brigitte

+0

Javascriptコンソールに警告やエラーメッセージが表示されますか?もしそうなら、あなたはそれらを投稿できますか?閉じた 'script'タグがありません。コピー貼り間違いですか、それともあなたのコードにはありませんか? – Harry

答えて

0

http://www.w3schools.com/js/js_cookies.asp

あなたcheckCookieロジックが間違っています。

function checkCookie() { 
    // try and find the cookie or return empty string 
    var languageSet = getCookie("setLanguage"); 
    // if languageSet is not the empty string then the cookie did exist 
    if (languageSet != "") { 
    alert('found the cookie'+ languageSet); 
     return null; 
    } else { 
    // otherwise set the cookie to the default value 
      jQuery.fancybox("#selectFlagDiv"); 
      setCookie("setLanguage", 'default cookie value here', 365); 
     } 
} 
関連する問題