[英]Can anyone please tell me what does this funciton do?
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));
}
请不要再要求我们做功课了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.