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));
}
The purpose of this function is to attempt to retrieve a cookie value from the page cookies. If no cookies are set, the function will attempt to set a default value of "w_wid=1;path=/"
and return 1
. If cookies are not supported, a semi-random (time based) value between 1 and 20 will be returned, and no cookie will be set. If cookies are set, the function will try to retrieve the value corresponding to the name parameter ( wid02
). If the name is not found, the function will return null
, otherwise the value is returned.
The function, annotated by line:
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));
}
Please don't ask us to do your homework anymore.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.