OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

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


分享到


分类 JS学习   关键字 JavaScript   发布 ourjs  1544853102332
注意 转载须保留原文链接,译文链接,作者译者等信息。  
经常有些场景需要从网址获取变量,比如:

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
社区评论 ( Beta版 )
OnceDoc 您自己的企业内容管理系统——文档、流程、知识库、报表、网盘All In One

访问404页面,寻找丢失儿童
 热门文章 - 分享最多
  1. redis5.x新特性,Stream流数据类型使用简单教程
  2. JavaScript使用类似break机制中断forEach循环
  3. JavaScript如何快速高性能清空删除Array数组中的所有元素,并保持引用
  4. C语言用指针模拟按引用传递int整型参数
  5. Redis只往zset有序集合添加不存在的数据:关键字索引查询构建+源码分析
  6. bootstrap-datetimepicker时间日期范围选取组件使用说明及简单教程
  7. 用JavaScript往select元素中添加new option下拉选项
  8. 用jQuery将JavaScript对象转换为querystring查询字符串
  9. JavaScript无引用复制一个Array数组的每一个元素到另一个数组
  10. 用 OnceAir 搭建个人Git/Svn/照片备份服务器,每年电费7块钱

 相关阅读 - JS学习
  1. JavaScript如何快速高性能清空删除Array数组中的所有元素,并保持引用
  2. JavaScript使用类似break机制中断forEach循环
  3. JavaScript无引用复制一个Array数组的每一个元素到另一个数组
  4. 用jQuery将JavaScript对象转换为querystring查询字符串
  5. 用JavaScript往select元素中添加new option下拉选项
  6. bootstrap-datetimepicker时间日期范围选取组件使用说明及简单教程
  7. 用JavaScript实现basename获取路径中的文件名
  8. 用JavaScript测试图像上两点之间的距离
  9. JavaScript运算出现很多小数导致运算不精确的问题,用toFixed解决
  10. 使用Node.JS批量查找替换目录下文本文件中图片地址内容

 关键字 - JavaScript
  1. 设置select元素中option的默认值
  2. JavaScript中将字符串true或false转换成Boolean类型
  3. Node.JS中用concat和push连接两个或多个数组的性能比较
  4. 5个现在就该使用的数组Array方法: indexOf/filter/forEach/map/reduce详解
  5. 如何用CSS将select/option文本居中或居右对齐
  6. jQuery用$.prop,$.attr方法来获取或设置checkbox当前选中状态
  7. Node.JS中UDP打洞穿透内网路由,架设内网服务器技术详解及源码
  8. 判断是否为对象typeof abc == 'object' 与 instanceof 性能比较
  9. 少年,不要滥用箭头函数啊:JS中lambda表达式的优缺点和使用场景
  10. typeof判断参数是否为undefined与全等判断法性能比较

 欢迎订阅 - 技术周刊

我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;


 关注我们

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号