簡體   English   中英

如何使用JavaScript讀取Cookie值?

[英]How to read cookie value with javascript?

<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>

你好

正在創建cookie,我只是不確定如何使我的if語句在CheckCookies函數中起作用,以便在頁面上隱藏div?

我收到以下控制台錯誤:

未捕獲的ReferenceError:未定義getCookie

誰能告訴我我在做什么錯?

謝謝

更新:

<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>

剛剛添加了檢查Cookie的功能,現在似乎可以正常使用了,但是div在隱藏之前會出現一秒鍾。 有什么辦法可以阻止這種情況的發生?

這些是我用來在JavaScript中添加,獲取或清除Cookie的功能。

/* 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM