JavaScript不刷新查找当前网址上的querystring并修改查询字符串变量

栏目: JavaScript · 发布时间: 7年前

内容简介:需要获取 param1/ param2 的变量,有时侯需要修改某个变量,有非常多的JS库可以实现,其实用简单的几行代码即可实现:var qs = {}qs.get = function(name) {

经常有些场景需要从网址获取变量,比如:

http://ourjs.com?param1=test1&param2=test2

需要获取 param1/ param2 的变量,有时侯需要修改某个变量,有非常多的JS库可以实现,其实用简单的几行代码即可实现:

var qs = {}

qs.get = function(name) {

var reg = new RegExp("[?&#]" + name + "=[^$&]*");

var parameter = location.href.match(reg)

if (!parameter) {

return;

return decodeURIComponent(parameter[0].substr(name.length + 2));

}

qs.set = function(name, value) {

var reg = new RegExp("([?&#]" + name + "=)[^$&]*")

var url = location.href

var parameter = url.match(reg)

if (parameter) {

url = url.replace(reg, '$1' + value)

} else {

var first = url.indexOf('#') > 0 ? '' : '#'

url += (url.indexOf('=') > 0 ? '&' : first) + name + '=' + value

}

history.replaceState && history.replaceState(null, null, url)

}

$.qs = qs;

使用:

qs.get('param1')
> test1

qs.set('param1', 'newvalue')
# 当前网址更新为:  http://ourjs.com?param1=newvalue&param2=test2

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

区块链革命

区块链革命

[加]唐塔普斯科特(Don Tapscott)、[加]亚力克斯·塔普斯科特(Alex Tapscott) / 中信出版集团股份有限公司 / 2016-9 / 69

(1)国际大腕“数字经济之父”继畅销书《维基经济学》之后再出力作! (2)一本真正全景式描述区块链理论及应用的巨著! (3)苹果共同创始人史蒂夫·沃兹尼亚克、世界经济论坛创始人和论坛主席克劳斯·施瓦布、网景及硅谷安德森·霍洛维茨风险投资公司创始人马克·安德森、麦肯锡董事长兼全球总裁鲍达民、 百事公司首席执行官卢英德、丹·舒尔曼 Paypal公司首席执行官等全球政治界、学术界和商界精英联......一起来看看 《区块链革命》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具