获取 cookie 的单值 javascript

jac*_*on5 1 javascript cookies

我已经有一个脚本来检查 cookie 是否存在,但我需要它来获取 cookie 值,以便我可以在如下网址中使用它:

var lang = cookievalue;
location.replace(window.location.protocol+"//"+document.domain+"/"+cookievalue+window.location.pathname);
Run Code Online (Sandbox Code Playgroud)

那么通过javascript简单地获取cookie值的最简单方法是什么,我所寻找的一切似乎都涉及到分割值和东西,这是没有必要的,因为只有一个值(en,fr,es ETC)

Joã*_*lva 6

function getCookieValue(key) {
  var cookies = document.cookie.split('; ');
  for (var i = 0, parts; (parts = cookies[i] && cookies[i].split('=')); i++) {
    if (decode(parts.shift()) === key) {
      return decode(parts.join('='));
    }
  }
  return null;
}

function decode(s) {
  return decodeURIComponent(s.replace(/\+/g, ' '));
}
Run Code Online (Sandbox Code Playgroud)

然后,要获取名为 的 cookie 的值my_cookie_name,您可以使用getCookieValue('my_cookie_name')。

作为替代方案,您可以使用该jquery-cookie插件。使用起来非常简单($.cookie('my_cookie_name'))并且重量轻。

  • @dombenoit:我已经包含了插件的相关部分,没有 jQuery。 (2认同)