java脚本代码是商店cookie
document.cookie = 'CookieName='+'grid';
我希望获得CookieName
值grid
我必须存储许多cookie,但我在cookie的第一个索引处获得此cookie存储
$( document ).ready(function() {
var CookieName=document.cookie;
if(CookieName =='grid')
{
$('#tab_b').hide();
$('#tab_a').show();
}
else {
$('#tab_a').hide();
$('#tab_b').show();
}
});
如何获取CookieName值
答案 0 :(得分:2)
我写了一个小函数(我可能会更高效,但我已经使用了很长时间),它应该对你有用:
function getCookieAttr(attribute) {
var attr = attribute + "="; // create an attribute string
var parts = document.cookie.split(';'); // split the cookie into parts
for(var i = 0; i <parts.length; i++) { // loop through the parts for each item
var item = parts[i];
while (item.charAt(0)==' ') { // account for spaces in the cookie
item = item.substring(1); // set the item
}
if (item.indexOf(attr) == 0) { // if the item matches the attribute
return item.substring(attr.length,item.length); // return the value
}
}
return "";
}
使用该函数传递属性名称:
document.cookie = "CookieName=grid";
console.log(getCookieAttr('CookieName'));
答案 1 :(得分:1)
我的印象是你找到了Jay Blanchard的答案太久了,所以我会提供一个更短的选择。但首先让我说点别的。作为对Jay Blanchard的回答的评论,你写道:
感谢兄弟,我已经得到它,并且非常简单和简短的功能检查它
var allcookies = document.cookie; cookiearray = allcookies.split(';'); name = cookiearray[0].split('=')[0]; value = cookiearray[0].split('=')[1];
但是,我强烈建议您重新考虑,因为这假定CookieName
始终是第一个cookie。 (有人可能会说“但我会以某种方式确保它始终是”,但关键是,这是键/值,而不是数组,所以这种方法在概念上是错误的,令人困惑,或者说他们说是不好的做法)。
现在,代码:
var cookieValue = document.cookie.replace(/(?:(?:^|.*;\s*)CookieName\s*\=\s*([^;]*).*$)|^.*$/, "$1");
这是我从the MDN page on cookies中偷偷偷走的内容,如果您想了解更多有关Cookie的信息,我强烈建议您这样做。