js 获取地址栏参数的两种方法
1. 传统方法获取:
function getParas(){
var href = location.href.split("?")[1];
var paras = href.includes("&") ? href.split("&") : href;
//判断是一组还是多组key:value
var arr = [];
for(var i=0;i<paras.length;i++){
var item = paras[i].split("=");
arr[item[0]] = item[1];
}
return arr;
}
getParas();
//[id: "13", name: "hah"]
2. 正则表达式获取:
function getParas(pa){
var reg = new RegExp("(^|&)" + pa + "=([^&]*)(&|$)");
var r = location.search.substr(1).match(reg);
if(r != null) return unescape(r[2]);
return null;
}
getParas("id");
//"13"
window.location的一些常见属性
示例url1:https://blog.csdn.net/?type=web
示例url2:https://blog.csdn.net/?#web
属性 | 说明 | 示例 |
---|---|---|
href | 完整的url | https://blog.csdn.net/?type=web |
hash | 从"#"开始的URL | #web |
search | 从"?"开始的URL | ?id=13&name=hah |
host | 主机名和当前URL的端口号 | blog.csdn.net |
window的一些常见方法
- window.location.reload(); 强制刷新页面,如有数据未提交,会提示是否提交
- window.location.href = window.location.href; 刷新当前页面
- window.history.go(0); 刷新当前页面
- window.history.go(-1);返回上一个页面
- window.history.back();返回上一个页面
- window.open(" "); 在新窗口打开某个url
- window.location.replace(" "); 将当前地址替换为新地址(使用该方法后不能通过浏览器前进和后退箭头来访问已被替换的url)