近期开发过一个网站,需要从一个页面中向另一个页面传递参数,下面展示代码
1.在地址栏中传递参数
<a target="_blank" href="arctical.html?pos='+pos[k]+'&part='+part+'&id='+_id+'" >'+_title+'</a>
2.在另一个页面中编写以下函数
function getParamer(paramer) {
var url = window.location.href.split("?")[1]; /*获取url里"?"后面的值*/
if(url.indexOf("&") > 0) { /*判断是否是一个参数还是多个参数*/
urlParamArry = url.split("&"); /*分开每个参数,并放到数组里*/
for(var i = 0; i < urlParamArry.length; i++) {
var paramerName = urlParamArry[i].split("="); /*把每个参数名和值分开,并放到数组里*/
if(paramer == paramerName[0]) { /*匹配输入的参数和数组循环出来的参数是否一样*/
return paramerName[1]; /*返回想要的参数值*/
}
}
} else { /*判断只有个参数*/
var paramerValue = url.split("=")[1];
return paramerValue;
}
}
3,直接利用函数获取地址栏的参数
var id = getParamer("id");
var part=getParamer("part");
另外,还有一种方法就是直接通过正则表达式获取文件的名称。代码如下:
如果当前地址栏为:http://127.0.0.1:8020/4.4/enterColumn.html?part=0&item=2
我们想要获得enterColumn,可以这样做:
var name=window.location.href.split("?")[0].split("/").length-1;
var partName=window.location.href.split("?")[0].split("/")[name].split(".")[0];
这时partName就是我们想要的。