向当前url追加参数/获取地址栏中的参数

19 篇文章 0 订阅
订阅专栏

一、使用history的replaceState方法向当前url追加参数

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

//方法
/**
 * @param { String } uri 当前地址栏的url
 * @param { String } key 添加的key值
 * @param { String } value 添加的value值
 * @return { String } 添加之后的url
 */
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;
	}
}

二、获取地址栏中的参数

第一种方式:利用qs库

1、安装插件

import qs from 'qs'

 2、调用方法

let queryParams = getParamsWithUrl(window.location.href)

3、方法

// 1、利用qs库
getParamsWithUrl(url) {
    return qs.parse(url.split('?')[1])
}

       

第二种方式:纯js

 1、调用方法

let queryParams = getParamsWithUrl(window.location.href)

2、方法

// 2、手写的方法
/**
 * @param { String } url 要截取穿参的url
 * @return { Object } 返回获取地址栏中的参数对象
 */
const getParamsWithUrl = (url) => {
  let params = {}
  // 是否是字符串
  if (Object.prototype.toString.call(url).slice(8, -1) != 'String') {
    return params
  }
  // 是否存在参数字符串
  let paramsStr = url.split('?')[1]
  if (!paramsStr) {
    return params
  }
  // 将参数字符串以&分割成数组  
  let paramsArr = paramsStr.split('&');
  // 循环处理,又以=分割, item.split('=')[0]作为key, item.split('=')[1]作为value
  paramsArr.forEach(item => {
    if (item.split('=')[0] && item.split('=')[1]) params[item.split('=')[0]] = item.split('=')[1]
  })
  return params
}

最新VLC命令行参数大全(一)
dgnankai的专栏
10-02 5755
VLC是开源多媒体播放器,功能非常强大。当然,使用起来入门简单,提高困难。不过所有的高级功能的调用,都离不开这些参数,这里给我自己,也给大家提供一个查询的地方,方面大家在开发使用。
linux命令及 参数 详解
Shelly的博客
02-20 2808
1、新手必须掌握的linux 指令: 帮助命令: man –h(man --help) 1.常用系统工作命令: echo命令: echo (选项) (参数) 选项: -e 激活转义字符 使用-e选项时,若字符串出现以下字符,则特别以处理,而不会将它当成一般文字输出: \a 发出警告声; \b 删除前一个字符; \c 最后不上换行符号; \f 换行但光标仍旧停留在原来的位置; \n 换行且...
当前url参数
1234Wu--Blog
06-08 1289
//向当前url参数,没有历史记录 window.history.replaceState({ path: newurl }, '', newurl); function updateQueryStringParameter(uri, key, value) { if (!value) { return uri; } var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i"); .
技巧~向URL地址添参数
weixin_34418883的博客
12-05 1858
只是个小技巧,感觉挺有用,拿出来分享一下 功能:在URL地址上添参数,如果只有一个,会是?userid=1,需要是大于1个,会是&userid=1 实现: private string AddParamToUrl(string key,string value) { string url = Sys...
js刷新当前页面并添路由参数
最新发布
youhebuke225的博客
09-03 595
要在JavaScript刷新当前页面并添参数URL,可以使用或者方法来构造新的URL
获取url地址栏参数
qq_45913170的博客
03-28 120
【代码】获取url地址栏参数
当前页面 (不 刷新)情况下 向url参数
weixin_54397440的博客
10-20 267
【代码】在当前页面 (不 刷新)情况下 向url参数
url动态追加参数_URL静态化
weixin_39918690的博客
12-11 545
一、URL为什么要静态化所谓静态URL,就是指不带有“?”、“=”“&”“php”'asp'等字符的URL。换句话说,不带有任何参数URL,就是静态URL。而静态URL之外的就是动态URL,也就是带有参数URL。目前,大多数网站都是数据库驱动的,网页是由程序实时生成的,而不是在服务器上有一个静态的HTML文件。当用户访问一个网址时,程序根据URL参数调用数据库数据,并实时生成页面内...
JavaScritp添url参数并将参数入到url及更改url参数的方法
09-03
1. 获取当前URL的信息,包括协议、主机、路径、查询字符串和哈希。 2. 将查询字符串解析成对象,以便操作其参数。 3. 根据需求添新的参数,如果已有相同参数,则覆盖原有值。 4. 将更新后的参数对象重新转换为...
Vue-Router给当前url参数时报错 Navigation Duplicated Avoided redundant navigation to current location
serfend's blog
04-23 2160
发现当动态修改当前页面的url的query时会报错 是因为新创建的路由不能使用老路由的对象,而应该重新创建一个对象,以解决问题 报错内容 新老路由发生重复,停止跳转 解决方法 // 首先获取当前url const q = this.$route && this.$route.query // 通过创建新的路由的方式来添参数 this.$router.push({ query: Object.assign({ filename: '' }, q) }) 原因 查看Vue-R.
浅析Apache重写规则RewriteCond规则参数和 RewriteRule 规则参数
企业级技术与网站app运营
03-15 1594
RewriteCond就像我们程序的if语句一样,表示如果符合某个或某几个条件则执行RewriteCond下面紧邻的RewriteRule语句,这就是RewriteCond最原始、基础的功能,看例子: RewriteEngine on RewriteCond  %{HTTP_USER_AGENT}  ^Mozilla//5/.0.* RewriteRule  index.php
获取地址栏参数
前后端分离,人不分离!
08-27 2105
获取地址栏参数(?key=value)
获取地址栏参数
莹莹同学
12-04 790
1、采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null)return unescape(r[2]); return null; } var myu
获取地址栏参数
lunmeifan的博客
01-31 195
var mark;function getSearchParam(sParam) {    var sPageURL = window.location.search.substring(1);    var sURLVariables = sPageURL.split('&');    for (var i = 0; i < sURLVariables.length; i++) {...
写文章

热门文章

  • Mac OS系统数据占用过大存储,终于找到了原因 72554
  • vue-treeselect的基本使用以及如何更改id以及label的绑定值 7834
  • Vue中使用iframe 、加载完成后回调事件 7587
  • npm,cnpm的基本使用、npm 安装中的 i、-g、--save、--save-dev、-D、-S的区别 7364
  • 嫌苹果鼠标(magic mouse)的灵敏度(跟踪速度)设置最大了都不够快,妙控板(magic trackpad)的灵敏度(跟踪速度)设置最大了都不够快(苹果鼠标/妙控板命令行设置灵敏度) 6582

分类专栏

  • Mac OS 4篇
  • others 5篇
  • vs code 3篇
  • vue3 16篇
  • js 19篇
  • 前端开发 27篇
  • element-ui 5篇
  • vue2 11篇
  • antd-vue 7篇
  • HarmonyOS 2篇
  • ArkTS 2篇
  • node 8篇
  • 服务器及部署 3篇
  • 后端开发 5篇
  • 宝塔可视化面板 1篇
  • css3 3篇

最新评论

  • vs code 函数、对象、数组(括号)中回车不自动换行以及缩进的问题

    snows_l: 哈哈,我当时也是找了好久,谈不上强迫症,但是不弄好真的不舒服

  • vs code 函数、对象、数组(括号)中回车不自动换行以及缩进的问题

    Absurdaaa: 一晚上了,只有你有用,谢谢哥表情包

  • antd-vue + vue3 实现a-table动态增减行,通过a-from实现a-table行内输入验证, form嵌套两个table实现检验。

    snows_l: 没太明白你的意思, 但是一般都是垂直居中的呀,可能需要样式调整一下你想要的

  • antd-vue + vue3 实现a-table动态增减行,通过a-from实现a-table行内输入验证, form嵌套两个table实现检验。

    sunlyu-Sun: 我还遇到个问题,表格里,每一条的操作栏中的删除按钮,是垂直方向上的居中,所以和旁边的就偏靠下了

  • antd-vue + vue3 实现a-table动态增减行,通过a-from实现a-table行内输入验证, form嵌套两个table实现检验。

    snows_l: 有用就好, 我也是项目中遇到了,然后才做一下笔记

最新文章

  • 给自己的项目(vue3)中添加 下雪/樱花飘落的背景
  • vue3项目如何添加属于自己的 live2d 看板娘 (支持换模型)
  • 【个人博客】vue3 + ElImage + nodejs 集成了看板娘(UI原生开发达99%)的响应式BLOG。
2024年22篇
2023年29篇
2022年6篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

snows_l

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司玩具网站优化的效果无锡梅村网站优化磐石网站整站优化宁波鄞州区知名百度网站优化必火网站优化系统招商项目平台常州网站seo优化公司长安各网站优化公司潮州外贸网站关键词优化工具东莞网站优化什么价格风水网站制作优化无锡网站优化服务平台双成际网站关键词seo优化买网站做优化可以吗北京标准网站优化外包深圳网站优化关键词工具京东网站优化建议泰安网站优化效果怎么样靠谱网站优化系统加盟网站优化方案外包网站优化哪家公司便宜宿州360网站优化绵阳网站优化哪家好360优化网站济南家纺行业网站优化推广可靠吗宁波珍岛网站优化怎样网站优化要点惠州网站排名优化电话服务好的销售行业网站优化费用合江县网站seo优化排名沧州市网站seo优化排名香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化