获取当前或目标网址的相关信息,可以使用javasscript的内置对象属性。
例如:
<script type="text/javascript"> //取得当前或目标网址的相关内容 //by www.jb200.com thisURL = document.URL; thisHREF = document.location.href; thisSLoc = self.location.href; thisDLoc = document.location; strwrite = " thisURL: [" + thisURL + "]<br>" strwrite += " thisHREF: [" + thisHREF + "]<br>" strwrite += " thisSLoc: [" + thisSLoc + "]<br>" strwrite += " thisDLoc: [" + thisDLoc + "]<br>" document.write( strwrite ); </script>
有时需要改变目前网址的参数/参数值。
可以先通过获取所有参数的信息,然后再根据实际需求来对某一参数进行修改。
例如:
//改变网址的参数值 function ChangeURLParm(Turl,Parm,PValue,ClearParm){ //Turl: 网址 //Parm: 参数 //PValue: 参数值 //ClearParm: 要清除的参数 var URL,Parms,ParmsArr,IsExist; var NewURL = Turl;//window.location.href IsExist = false; with(Turl){ if(indexOf('?')>0){ URL = substr(0,indexOf('?'));//不包含参数 Parms = substr(indexOf('?')+1,length);//参数 } else{ URL = Turl; Parms = ''; } } if (Parms!=''){ var i; ParmsArr = Parms.split("&"); for(i=0;i<=ParmsArr.length-1;i++){ if (String(Parm).toUpperCase()==String(ParmsArr[i].split("=")[0]).toUpperCase()){//原来有参数Parm则改变其值 ParmsArr[i] = Parm + "=" + PValue; IsExist = true; if (String(ClearParm) ==""){ break; } } else if ( (String(ClearParm)!="") && (String(ClearParm).toUpperCase()==String(ParmsArr[i].split("=")[0])).toUpperCase() ){//去掉参数ClearParm的值 ParmsArr[i] = ClearParm + "="; } } for(i=0;i<=ParmsArr.length-1;i++){ if(i==0){ Parms = ParmsArr[i]; } else{ Parms = Parms + "&" + ParmsArr[i]; } } NewURL = URL + "?" + Parms; if (!IsExist){ NewURL = NewURL + "&" + Parm + "=" + PValue; } } else{ NewURL = URL + "?" + Parm + "=" + PValue; } return NewURL; }
此方法多用于:分页跳转、多条件查询搜索等功能,非常好用。