我发现了两个使用JavaScript获取cookie数据的函数,一个在w3schools.com上,另一个在quirksmode.org上。
我想知道应该使用哪一个?
例如,我相信我曾经在某个地方读到过,有些浏览器会在分号
w3schools:
我想知道应该使用哪一个?
例如,我相信我曾经在某个地方读到过,有些浏览器会在分号
;
处出现问题?w3schools:
function getCookie(c_name) {
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + "=");
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexOf(";", c_start);
if (c_end == -1) c_end = document.cookie.length;
return unescape(document.cookie.substring(c_start, c_end));
}
}
return "";
}
怪癖模式:
function readCokie(name) {
var nameEQ = name + "=";
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, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
;
字符来分割cookie,据我所知这总是正确的。 - VoteyDisciplegetCookie
函数有误,请考虑一下如果您获取到一个名为ART=
的 cookie,而您又有一个名为SMART=
的 cookie,会发生什么。 - Marco Demaio