javascript
  • jquery
  • cookies
  • 2016-10-18 7 views 0 likes 
    0
    <script type="text/javascript"> 
    function WorldwideSellingModelCookie(){ 
        days=7; 
        myDate = new Date(); 
        myDate.setTime(myDate.getTime()+(days*24*60*60*1000)); 
        document.cookie = 'WorldwideSellingModelCookie=Accepted; expires=' + myDate.toGMTString(); 
    } 
    function CheckCookies(){ 
        var worldwideSellingCookie = getCookie("WorldwideSellingModelCookie"); 
        if (worldwideSellingCookie == "Accepted") 
        { 
         jQuery(".alert-worldwide").hide(); 
        } 
    } 
    CheckCookies(); 
    </script> 
    

    こんにちは、javascriptでクッキー値を読み取る方法は?

    クッキーが作成されている、私はそれがページ上のdivを隠すように、文は私のCheckCookies関数内で作業する場合は、私を取得する方法だけでわからないのですか?

    私は、次のコンソールエラーが供給しています:

    Uncaught ReferenceError: getCookie is not defined

    誰もが私が間違っているの何助言することはできますか?

    おかげ

    UPDATE:

    <script type="text/javascript"> 
    function WorldwideSellingModelCookie(){ 
        days=7; 
        myDate = new Date(); 
        myDate.setTime(myDate.getTime()+(days*24*60*60*1000)); 
        document.cookie = 'WorldwideSellingModelCookie=Accepted; expires=' + myDate.toGMTString(); 
    } 
    
    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 CheckCookies(){ 
        var worldwideSellingCookie = getCookie("WorldwideSellingModelCookie"); 
        if (worldwideSellingCookie == "Accepted") 
        { 
         jQuery(".alert-worldwide").hide(); 
        } 
    } 
    CheckCookies(); 
    </script> 
    

    ちょうどしかし、div要素が隠れて前に一瞬のために表示され、クッキーをチェックする機能を追加し、現在動作しているようです。これが起こるのを止める方法はありますか?

    +0

    あるjQueryプラグインと呼ばれる[**がありますjquery- cookie **](https://github.com/carhartl/jquery-cookie) – SaidbakR

    +0

    この構文を試しましたか? http://www.w3schools.com/js/js_cookies.asp .toUTCString()を使用するパスを追加する=/ –

    +2

    ここで 'getCookie()'関数を定義しましたか? –

    答えて

    2

    これらは私が、追加取得するために使用する関数、またはJavaScriptの明確なクッキーです(jsFiddleを参照)

    /* function creates cooke with random key */ 
    function setCookie(inputs) { 
        /* cookie name */ 
        var name = (inputs[0]) ? inputs[0] : "key" + document.cookie.length; 
        /* cookie expire in 120 seconds */ 
        var date = new Date(); 
        date.setTime(date.getTime() + (120 * 1000)); 
        var expires = "; expires=" + date.toGMTString(); 
        /* sets cookie */ 
        document.cookie = name + "=" + inputs[1] + expires; 
    }; 
    
    /* get the cookie based on input */ 
    function getCookie(input) { 
        var cookies = document.cookie.split(';'); 
        for (var i = 0; i < cookies.length; i++) { 
        var name = cookies[i].split('=')[0].toLowerCase(); 
        var value = cookies[i].split('=')[1].toLowerCase(); 
        if (name === input) { 
         return value; 
        } else if (value === input) { 
         return name; 
        } 
        } 
        return ""; 
    }; 
    
    /* destroy me cookies (well only delete javascript cookies) */ 
    function clearCookies(elements) { 
        var cookies = document.cookie.split(';'); 
        for (var i = 0; i < cookies.length; i++) { 
        var cookie = cookies[i]; 
        var eqPos = cookie.indexOf('='); 
        var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie; 
        document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT"; 
        } 
        $(elements[0]).val(''); 
        $(elements[1]).val(''); 
        $(elements[2]).val(''); 
        $(elements[3]).html('No Cookie'); 
    }; 
    

    また、これは良いDocument.cookie MDN

    関連する問題