使用js方法动态获取地址栏参数
程序员文章站
2024-02-18 12:19:52
...
最近在写移动端电商项目的时候,发现很多时候需要获取地址栏的参数,利用获取地址栏的参数来进行渲染页面数据。所以今天就写下利用js方法获取地址栏参数。
//假设这是我们要获取的地址栏参数的信息
https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=baidu&wd=csdn
1.首先定义一个字符串存储地址栏信息
var str="https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=baidu&wd=csdn"
//2.这里我们需要获取问号后面的参数,这个时候利用indexof()找到问号
var index=str.indexOf("?")+1;
//这里加一是因为indexOf找到问号的时候,包括问号,但是我们不需要问号,所以加一。
//ie=utf-8&f=8&rsv_bp=1&tn=baidu&wd=csdn
//3。我们要利用split方法把“&”分隔掉,当然这里我们也可以使用其他方法去分隔掉“&”,像replace()也可以,把"&"替换成" ";
var arr=str.split("&");
//["ie=utf-8", "f=8", "rsv_bp=1", "tn=baidu", "wd=csdn"],返回值是一个字符串形式的数组,我们要把转换成对象。
//4.定义一个空对象
var log={};
//5.使用遍历的方法往空对象里面添加数据,使用forEach方法();
arr.forEach(function (item,index) {
//分隔掉等号
var newArr=item.split("=");
log[newArr[0]]=newArr[1];
});
console.log(log);
//{ie: "utf-8", f: "8", rsv_bp: "1", tn: "baidu", wd: "csdn"};
//最后返回值就是一个对象形式的数组了。