我搜索了几个地方试图找出如何仅显示cookie的值而不是整个键,但它们对于我正在做的事情似乎都是不必要的复杂。我有一个只有一个键的cookie,userName = something,我无法弄清楚如何只显示“某些东西”而不是userName = something。
function userCookie(form)
{
if(form.User_Name.value == "")
{
alert("Cannot accept a blank user name, please enter a valid name");
return false;
}
else
{
document.cookie="userName=" + form.User_Name.value;
alert(document.cookie);
return false;
}
}
function newWindow()
{
var userWindow = window.open("","MyUserName","height=300,width=300");
userWindow.document.open();
userWindow.document.write("<p>Welcome Back</p>");
userWindow.document.write(document.cookie);
userWindow.document.close();
}
答案 0 :(得分:0)
document.cookie
将始终返回cookie1=value1;cookie2=value2
之类的键值对。
您可以使用以下函数从document.cookie中分割cookieName和“=”以获取值。
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) != -1) return c.substring(name.length,c.length);
}
return "";
}
代码来自w3schools。
答案 1 :(得分:0)
如果您总是只有一个Cookie,那么document.cookie.split("=")[1]
就足够了。
答案 2 :(得分:0)
var cookieArray = document.cookie.split("; "),
cookieObject = {},
i, pair;
for (i = cookieArray.length - 1; i >= 0; i--) {
pair = cookieArray[i].split("=");
cookieObject[pair[0]] = pair[1];
}
alert(cookieObject.userName);
答案 3 :(得分:0)
function getCookie(name) {
let x = document.cookie.split(";").find(a => a.includes(name + "="));
return !!x ? x.trim().substr(name.length+1) : ""
}