在真实的项目中,我们经常使用URL传参的方式实现两个页面之间的通信,例如:A页面是一个列表页面,B页面是一个详细页面,我们点击列表中的每一条纪录都会跳转到同一个详细页面,这样就需要我们在详细页面区分具体点击的是那一条纪录,遇到这样的情况,我们通常会在跳转的URL地址后面加上对应的标识,例如:b.html?id=12&name=zhufeng#peixun;当加载B页面的时候,我么首先获取地址栏中URL后面的参数值,然后根据不同的值获取不同的数据最后展示在页面上。
今天我们就使用两种方法把问号后面的参数值都获取到。
方法一:字符串拆分法
这种方式操作起来代码比较的繁琐,也不利于后期的维护和扩展,但是是目前市场上最通用的方法之一。
String.prototype.queryURLParameter = function () {
//->获取截取的开始和结束索引
var strIndex = this.indexOf("?"),
endIndex = this.lastIndexOf("#"),
resStr = "";
//->检测字符串中是否包含?和#
if (strIndex > -1) {
if (endIndex === -1) {
resStr = this.substring(strIndex + 1);
} else {
resStr = this.substring(strIndex + 1, endIndex);