嘿我正在尝试保存 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;
}
答案 0 :(得分:1)
您需要了解有关JavaScript Cookie的更多信息。您正在使用一个不必要的变量,您可以在本地范围内再次声明。
当窗口加载未初始化的变量(例如)时
var myCookie;
始终为undefined
。所以你应该首先使用document.cookie
var myCookie = document.cookie;
现在,要设置cookie供以后使用,您需要一个键,如:
document.cookie = "myCookie=myValue";
您可以在此处阅读更多内容:http://www.w3schools.com/js/js_cookies.asp
答案 1 :(得分:0)
如果您默认情况下未指定过期日期,则在浏览器关闭时会删除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
我的建议是使用与Cookies不同的东西。也许LocalStorage的polyfill会更好。