在Javascript中保存cookie

saving cookies in Javascript

本文关键字:cookie 保存 Javascript      更新时间:2023-09-26

嘿,我试图保存cookie,然后加载/重新加载时再次读取它。但每当我重新加载,我得到错误信息myCookie is undefined。有人能帮我一下吗?

var myCookie
window.onload = function () {
  console.log(myCookie);
  var a = document.getElementById("style1");
  if (myCookie == undefined) {
    console.log("new");
  var myCookie = document.cookie = "common.css";  
  } else {
    console.log("old");
  }
   a.href = myCookie;
}
function change()
{
    var a = document.getElementById("style1");
    if(myCookie=="common.css")
    {
      myCookie  = document.cookie = "common2.css";
    }else{
      myCookie  = document.cookie = "common.css";
    }
    a.href = myCookie;
}

您需要阅读更多关于JavaScript cookie的内容。您正在使用一个不必要的变量,并且在局部范围内再次声明。

当窗口加载未初始化的变量时,例如

var myCookie;

总是undefined。所以你应该从document.cookie

开始
var myCookie = document.cookie;

现在,要设置cookie供以后使用,您将需要一个键,如:

document.cookie = "myCookie=myValue";

您可以在这里阅读更多内容:http://www.w3schools.com/js/js_cookies.asp

如果默认不指定过期日期,浏览器关闭时cookie将被删除。

document.cookie = "style=common.css; expires=Thu, 18 Dec 2016 12:00:00 UTC; path=/";

那么你可以用:

function read_cookie(key)
{
    var result;
    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? (result[1]) : null;
}
read_cookie('style'); //common.css

我的建议是使用不同于cookie的东西。