发布:2023/12/7 15:32:26作者:大数据 来源:大数据 浏览次数:456
1、读取URL中的参数值
/*
*获取URL参数
*/
function GetQueryString(name)
{
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) {
return unescape(r[2]);
}
return null;
};
调用方法:
var nameVal=GetQueryString("URL上的参数名");
举例:
浏览器地址连上的地址为:
http://www.aazj.cn/pc/meeting/card.html?skinColor=30&gid=-1&userId=566&modid=1133&puid=9
那么
var userIdVal=GetQueryString("userId") //值就等于566
2、修改URL参数
//替换指定传入参数的值,paramName为参数,replaceWith为新值
function replaceParamVal(paramName,replaceWith) {
var oUrl = this.location.href.toString();
var re=eval('/('+ paramName+'=)([^&]*)/gi');
var nUrl = oUrl.replace(re,paramName+'='+replaceWith);
this.location = nUrl;
window.location.href=nUrl
}
调用举例
浏览器地址连上的地址为:
http://www.aazj.cn/pc/meeting/card.html?skinColor=30&gid=-1&userId=566&modid=1133&puid=9
加入希望修改userId的值为333,那么
replaceParamVal("userId","333")
URL就会变成
http://www.aazj.cn/pc/meeting/card.html?skinColor=30&gid=-1&userId=333&modid=1133&puid=9
3、动态修改URL
var newUrl="新的Url";
var stateObject = 0;
var title="0"
history.replaceState(stateObject,title,newUrl);
一般这样基本可用了,更多知识可以百度replaceState
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
// 添加 或者 修改 url中参数的值 function UpdateUrlParam(name, val) { var thisURL = document.location.href; // 如果 url中包含这个参数 则修改 if (thisURL.indexOf(name+'=') > 0) { var v = GetQueryString(name); if (v != null) { // 是否包含参数 thisURL = thisURL.replace(name + '=' + v, name + '=' + val); } else { thisURL = thisURL.replace(name + '=', name + '=' + val); } } // 不包含这个参数 则添加 else { if (thisURL.indexOf("?") > 0) { thisURL = thisURL + "&" + name + "=" + val; } else { thisURL = thisURL + "?" + name + "=" + val; } } location.href = thisURL; }; |
————————————————
版权声明:本文为CSDN博主「xnzs」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xnzsxnzs/article/details/79257379
© Copyright 2014 - 2024 柏港建站平台 ejk5.com. 渝ICP备16000791号-4