请高手帮忙解释一下这段JS的cookie代码的意思,我是新手,希望高手们能解释详细些,谢了!
<ScriptLanguage="JavaScript">functionopenWindow(){window.open("placard.htm","","width...
<Script Language="JavaScript">
function openWindow(){
window.open("placard.htm","","width=352,height=193")
}
/******************主要解释这段代码********************/
function GetCookie(name){
var search = name + "="; //这句我最不理解,为啥要加个等于符号?
var returnvalue = "";
var offset,end;
if(document.cookie.length>0){ //这是不是判断电脑里有没有cookie的?
offset = document.cookie.indexOf(search); //判断是否有自己想要的cookie存在?
if(offset != -1){
offset += search.length; //这段代码也让我很费解
end = document.cookie.indexOf(";",offset);
if(end == -1) end = document.cookie.length;
returnvalue = unescape(document.cookie.substring(offset,end));
}
}
return returnvalue;
}
function LoadPop(){
if(GetCookie("pop")==""){
openWindow();
var today = new Date()
var time="Sunday,1-jan-"+today.getYear()+1+" 23:59:59 GMC";
document.cookie="pop=yes;expires="+time;
}
}
</Script> 展开
function openWindow(){
window.open("placard.htm","","width=352,height=193")
}
/******************主要解释这段代码********************/
function GetCookie(name){
var search = name + "="; //这句我最不理解,为啥要加个等于符号?
var returnvalue = "";
var offset,end;
if(document.cookie.length>0){ //这是不是判断电脑里有没有cookie的?
offset = document.cookie.indexOf(search); //判断是否有自己想要的cookie存在?
if(offset != -1){
offset += search.length; //这段代码也让我很费解
end = document.cookie.indexOf(";",offset);
if(end == -1) end = document.cookie.length;
returnvalue = unescape(document.cookie.substring(offset,end));
}
}
return returnvalue;
}
function LoadPop(){
if(GetCookie("pop")==""){
openWindow();
var today = new Date()
var time="Sunday,1-jan-"+today.getYear()+1+" 23:59:59 GMC";
document.cookie="pop=yes;expires="+time;
}
}
</Script> 展开
1个回答
展开全部
cookie 的内容格式是 名字=值 所以var search = name + "="; 这句的意思是把“名字=”作为搜索的标示字符串,如果不加等号在遇到“值”当中包含“名字”时会发生错误。
if(document.cookie.length>0) 这句你解释的对 就是判断有没有COOKIE
offset = document.cookie.indexOf(search); 这句是查找你想搜索项在COOKIE中的偏移地址,如果没找到项中的“名字”返回值为-1
offset += search.length; 如果有返回值的时候,返回值是“名字=”这个字符串的开始地址,可你需要的是后面“值”的地址,所以要在本来的返回值地址上加上“名字=”这个字符串的长度
if(document.cookie.length>0) 这句你解释的对 就是判断有没有COOKIE
offset = document.cookie.indexOf(search); 这句是查找你想搜索项在COOKIE中的偏移地址,如果没找到项中的“名字”返回值为-1
offset += search.length; 如果有返回值的时候,返回值是“名字=”这个字符串的开始地址,可你需要的是后面“值”的地址,所以要在本来的返回值地址上加上“名字=”这个字符串的长度
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询