检索Cookie内容

时间:2011-04-01 20:20:31

标签: javascript cookies

我正试图用javascript来检索cookie的内容。

我们假设该Cookie名为“Google”

并且还假设此cookie的内容只是“blah”

我一直在网上看,我发现的都是复杂的功能,我想知道是否有一个简单的一行这样的代码可以在cookie中恢复内容的价值'

,例如 -

var myCookie = cookie.content('Google');

我不希望长解析器检查各种cookie,或者cookie是否有多个值或者等等。谢谢!

5 个答案:

答案 0 :(得分:1)

QuirksMode有一个非常简单但有效的Cookie脚本。

var Google = readCookie("Google"); // Google is now "blah"

答案 1 :(得分:1)

不是一个简单的单行解决方案,但关闭!

var results = document.cookie.match ( '(^|;) ?' + cookiename + '=([^;]*)(;|$)' );
if ( results ) myCookie = decodeURIComponent(results[2] ) ;

答案 2 :(得分:0)

你必须自己解析cookie jar,但这并不难:

var name    = 'the_cookie_you_want';
var value   = null;
var cookies = document.cookie.split(/\s*;\s*/);
for(var i = 0; i < cookies.length; i++) {
    if(cookies[i].substring(0, name.length + 1) == (name + '=')) {
        value = decodeURIComponent(cookies[i].substring(name.length + 1));
        break;  
    }
}

答案 3 :(得分:0)

您可以使用document.cookie或document.cookie.split(';')来获取键/值的完整列表。

答案 4 :(得分:0)

在javascript中,所有cookie都存储在一个字符串中。饼干由a分隔; 读取cookie的可能功能是:

function readCookie(myCookieName)
{
  if (document.cookie.length > 0)
  {
    var start = document.cookie.indexOf(myCookieName + "=");
    if (start != -1)
    {
      start = start + myCookieName.length + 1;
      var end = document.cookie.indexOf(";",start);
      if (end == -1) end = document.cookie.length;
      return unescape(document.cookie.substring(start ,end ));
    }else{
      return "";
    }
  }
  return "";
}