无论是前端开发还是后台设计 很多时候开发人员都需要获取当前或目标网址的相关信息 这个已有现成的内置对象属性可以直接调用了(下面是获取当前页面的参考代码)
复制代码 代码如下: <script type=text/javascript>thisURL = document URLthisHREF = document location hrefthisSLoc = self location hrefthisDLoc = document locationstrwrite = " 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 IsExistvar NewURL = Turl//window location href IsExist = falsewith(Turl){ if(indexOf( ? )>){ URL = substr( indexOf( ? ))//不包含参数 Parms = substr(indexOf( ? )+ length)//参数 } else{ URL = TurlParms = } } if (Parms!= ){ var iParmsArr = Parms split("&")for(i= i<=ParmsArr length i++){ if (String(Parm) toUpperCase()==String(ParmsArr[i] split("=")[ ]) toUpperCase()){//原来有参数Parm则改变其值 ParmsArr[i] = Parm + "=" + PValueIsExist = trueif (String(ClearParm) ==""){ break} } else if ( (String(ClearParm)!="") &&(String(ClearParm) toUpperCase()==String(ParmsArr[i] split("=")[ ])) toUpperCase() ){//去掉参数ClearParm的值 ParmsArr[i] = ClearParm + "="} } for(i= i<=ParmsArr length i++){ if(i== ){ Parms = ParmsArr[i]} else{ Parms = Parms + "&" + ParmsArr[i]} } NewURL = URL + "?" + Parmsif (!IsExist){ NewURL = NewURL + "&" + Parm + "=" + PValue} } else{ NewURL = URL + "?" + Parm + "=" + PValue} return NewURL} lishixinzhi/Article/program/Java/JSP/201311/20336首先,是使用原生JS或者jquery开发,需要一个a标签跳转到另一页面,跳转的时候地址栏携带参数,另一个页面获取到参数然后去控制页面。
我这里遇到一个小坑,就是a标签中一开始href我写了路径,结果先去跳转了,没有执行js,后面我就直接加了“#”,然后解决了。
这种接收方法可能只是用于传递一个参数,传递多个的时候应该不适用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)