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

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

内容简介:需要获取 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

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

查看所有标签

猜你喜欢:

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

High Performance JavaScript

High Performance JavaScript

Nicholas C. Zakas / O'Reilly Media / 2010-4-2 / USD 34.99

If you're like most developers, you rely heavily on JavaScript to build interactive and quick-responding web applications. The problem is that all of those lines of JavaScript code can slow down your ......一起来看看 《High Performance JavaScript》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

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

各进制数互转换器

随机密码生成器
随机密码生成器

多种字符组合密码