function w_cookie_wid(wid02) {
if ( ! document.cookie) {
document.cookie = "w_wid=1;path=/";
if ( ! document.cookie) {
var w_date = new Date();
return (w_date.getSeconds() % 20 + 1);
}
else return 2 - 1;
}
var prefix = wid02 + "=";
var begin = document.cookie.indexOf("; " + prefix);
if (begin == - 1) {
begin = document.cookie.indexOf(prefix);
if (begin != 0) {
return null;
}
}
else {
begin += 2;
}
var end = document.cookie.indexOf(";", begin);
if (end == - 1) {
end = document.cookie.length;
}
return unescape(document.cookie.substring(begin + prefix.length, end));
}
此函数的目的是尝试从页面 cookie 中检索 cookie 值。 如果未设置 cookie,该函数将尝试设置默认值
"w_wid=1;path=/"
并返回 1
。 如果不支持 cookie,则将返回 1 到 20 之间的半随机(基于时间)值,并且不会设置 cookie。 如果设置了 cookie,该函数将尝试检索与 name 参数对应的值 (wid02
)。 如果未找到名称,函数将返回 null
,否则返回值。
函数,用行注释:
function w_cookie_wid(wid02) {
//if there are no cookies for this page
if (!document.cookie) {
//set a cookie value associated with the root
document.cookie = "w_wid=1;path=/";
//if there still are no cookies (not supported/allowed)
if (!document.cookie) {
//make a new date representing the current time
var w_date = new Date();
//return a number between 1 and 20
//based on the current time
return (w_date.getSeconds() % 20 + 1);
}
//return 1 if the cookie set was successful
else return 2 - 1;
}
//create the name portion for a cookie value
var prefix = wid02 + "=";
//check to see if that value is already set,
//but not as the first item
var begin = document.cookie.indexOf("; " + prefix);
//if it isn't
if (begin == -1) {
//check to see if it is set as the first item
begin = document.cookie.indexOf(prefix);
//if it isn't set (at all)
if (begin != 0) {
//return a null value
return null;
}
}
//if it IS set somewhere
else {
//set begin to be the index of beginning
//of the name/value pair
begin += 2;
}
//get the index of the first semi-colon after
//the beginning of the name/value
var end = document.cookie.indexOf(";", begin);
//if there isn't one
if (end == -1) {
//set the end index as the length of the cookie(s)
end = document.cookie.length;
}
//return the cookie name/value pair string
return unescape(document.cookie.substring(begin + prefix.length, end));
}
请不要再要求我们做作业了。