js修改当前页面地址栏参数

Posted skybirdzw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js修改当前页面地址栏参数相关的知识,希望对你有一定的参考价值。

利用html5 history新特性replaceState方法可以修改当前页面地址栏参数,示例代码:

//选择日期后改变地址栏
var urlSearch = location.href;
var unformatStr = changeURLArg(urlSearch, "depDate", Qdate);
if (!!(window.history && history.pushState)) {
	history.replaceState(null, "", unformatStr);
}

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;
		}
	}
}

 类似的方法还有pushState,具体请参考以下资料。

参考资料:
http://blog.csdn.net/tianyitianyi1/article/details/7426606

以上是关于js修改当前页面地址栏参数的主要内容,如果未能解决你的问题,请参考以下文章

JS替换地址栏参数值

Vue.js中跳转报错 地址栏改变 页面不改变

java web 如何防止 用户绕过js验证,直接地址栏提交表单或自己编写html页面,提交数据到服务器?

js获取地址栏各种值

JS获取URL的参数

js获取url地址里的数据