使用js修改url地址参数并修改url地址
注: 微信小程序和公众号内屏蔽了 eval() 函数,需要用其他方法解决
修改浏览器地址参数:
function changeURLArg(url,arg,arg_val){var pattern=arg+'=([^&]*)';var replaceText=arg+'='+arg_val; if(url.match(pattern)){var tmp='/('+ arg+'=)([^&]*)/gi';tmp=url.replace(eval(tmp),replaceText);return tmp;}else{ if(url.match('[\?]')){ return url+'&'+replaceText; }else{ return url+'?'+replaceText; } } }/*** 获取url里的参数* @param arg 参数名* @returns*/ function getURLString(arg) { var reg = new RegExp("(^|&)" + arg + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]);return null; }
//调用结果如下: var url = window.location.href; changeURLArg(url, "id", 99); // http://www.csdn.com/?id=99&ttt=3 changeURLArg(url, "haha", 33); // http://www.csdn.com/?id=99&ttt=3&haha=33
读取URL
中的参数、修改URL
参数、动态修改URL replaceState
js代码
/* *获取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; };
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=9replaceParamVal("userId","333")//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);
javascript 删除 url 中指定参数,并返回 url
实现代码
// 删除url中某个参数,并跳转 function funcUrlDel(name){var loca = window.location;var baseUrl = loca.origin + loca.pathname + "?";var query = loca.search.substr(1);if (query.indexOf(name)>-1) {var obj = {}var arr = query.split("&");for (var i = 0; i < arr.length; i++) {arr[i] = arr[i].split("=");obj[arr[i][0]] = arr[i][1];};delete obj[name];var url = baseUrl + JSON.stringify(obj).replace(/[\"\{\}]/g,"").replace(/\:/g,"=").replace(/\,/g,"&");return url}; }
//url: http//xx.com/list?page=1&a=5执行代码 funcUrlDel("page")//http//xx.com/list?a=5
修改浏览器地址:
浏览器窗口有一个history对象,用来保存浏览历史。
检查浏览器是否支持
if (window.history){
// 支持History API
} else {
// 不支持
}
history对象提供了一系列方法,允许在浏览历史之间移动。
其中包括
history.back(); 回退
history.forward(); 前进
history.go(0)//刷新当前页面;
HTML5为history对象添加了两个新方法,history.pushState()和history.replaceState(),用来在浏览历史中添加和修改记录。
都会改变浏览器标签栏中的URL值,区别在于pushState()会将之前的地址记录在history对象中,通过back()可以返回前一页,replaceState()则不能返回
转:
https://blog.csdn.net/weixin_34240657/article/details/92264873
https://blog.csdn.net/WuLex/article/details/89194384
https://blog.csdn.net/WuLex/article/details/89204850
修改 浏览器 地址 https://blog.csdn.net/baiyan_er/article/details/80901553
https://www.cnblogs.com/lbcxq/p/11842713.html
使用js修改url地址参数并修改url地址相关推荐
- vue项目中videoPlayer 的 src 视频地址参数动态修改---方法
方法很简单:相信大家的问题应该是改变src的值吧,动态赋值这一步简单. this.playerOptions['sources'][0]['src'] 就是这一步解决提取src问题,主要部分用*号框起 ...
- js快捷获取超链接参数和修改超链接(新增URLSearchParams方法获取参数)
//https://www.baidu.com?sjry=111function GetRequest() {var url = location.search;var theRequest = ne ...
- java获取url中参数_获取url参数(java / js)
(1)js // 获取url参数 function getQueryString(url, name) { console.log("url = " + url) console. ...
- python获取url列表参数_python 获取url中的参数列表实例
Python的urlparse有对url的解析,从而获得url中的参数列表 import urlparse urldata = "http://en.wikipedia.org/w/api. ...
- php url 删除参数错误,删除URL参数而不刷新页面
Samuel LiewDerek提出了一个问题:Remove URL parameters without refreshing page,或许与您遇到的问题类似. 回答者MJoraid给出了该问题的 ...
- js获取url地址参数
一.js获取url地址栏参数 1.传入url地址(获取某个参数) console.log(getQueryVariable('aid', "http://10.179.91.238:8000 ...
- 【业务安全03】密码找回业务安全以及接口参数账号修改实例(基于metinfov4.0平台)
目录 1 密码找回安全测试 1.1 验证码方面 1.1.1 验证码客户端回显测试 1.1.2 验证码暴力破解 1.1.3 验证码重复利用 1.2 Cookie.Session.Token方面 1.2. ...
- Spring MVC url提交参数和获取参数
普通URL提交参数 该格式url为:url.do?param1=mahc¶m2=8888.00 需要在上文中的HelloController对象添加方法如下: ? 1 2 3 4 5 ...
- iframe回调window.parent第三方地址,域名显示第三方地址
需求:主页面iframe切套第三方数据源页面,数据源执行操作后,回调传入的地址,而不是主页面域名 实现: 获取第三方回调地址,保存到全局变量 替换第三方回调为本地址回调地址 发送请求,等待数据源回调本 ...
最新文章
- 前台开发之HTML定义语义化
- ajax传参到实体类对应字段
- 【翻译】asp.net core中使用MediatR
- C - Swaps 2(树状数组,思维)
- css 两行字变成一行,如何通过CSS将两行文本更改为一行?
- Chapter3-2_Speech Separation(TasNet)
- 信号集操作函数,信号阻塞与未决
- mysql 语句优化的几种方式(总结)
- 计算机中丢失了gdiplus.dll,解决 “计算机中丢失gdiplus.dll”
- 谷歌浏览器连接超时_技术丨常见在线课堂网络连接网络视频播放的解决方案...
- access 微软以外 编辑_如何在 Microsoft Access 中修改查询属性
- 日常生活 - 打印机如何扫描文件到电脑上
- 3D空间扫描,用立体的眼光看懂世界
- 优质的石材 石头VRay材质球素材推荐,不容错过
- 每日新闻:国美与车势达成独家战略合作;腾讯Tsrc年度峰会破界召开;日本将允许高度自动驾驶车上路;“开源芯片”是芯片发展的新潮流...
- KEL安装和初步研究
- java一般自学多久
- 海康工业相机网口相机丢包问题解决方法
- 解决[“usingcomponents“][“van-button“]: “@vant/weapp/button/index“ 未找到:
- 深大数据库系统实验3——DATABASE SOFTWARE练习实验
热门文章
- tensorflow GPU配置失败的几个解决方法
- java虚拟机功能_Java虚拟机介绍
- 【毕业设计】机器学习股票大数据量化分析与预测系统 - python 毕业设计
- regionprops
- QT触摸屏上TouchEvent 和 MouseEvent触发的顺序
- 帮我写个文案 关于Ai智能客服
- linux如何查看tar的文件,Linux中如何查看文件内容、使用tar归档,备份与恢复文档...
- 测试用例设计方法:场景分析法(又名流程分析法)
- [2016-2017 ACM-ICPC CHINA-Final G]Pandaria
- 软件工程----过程模型、敏捷开发