JS-使用history的replaceState方法向当前url追加参数

var newurl = updateQueryStringParameter(window.location.href, 'sp', '2');
//向当前url添加参数,没有历史记录
window.history.replaceState({
	path: newurl
}, '', newurl);

function updateQueryStringParameter(uri, key, value) {
	if(!value) {
		return uri;
	}
	var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i");
	var separator = uri.indexOf('?') !== -1 ? "&" : "?";
	if (uri.match(re)) {
		return uri.replace(re, '$1' + key + "=" + value + '$2');
	}
	else {
		return uri + separator + key + "=" + value;
	}
}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐