首页 > 其他分享 >js 替换url参数

js 替换url参数

时间:2024-01-15 11:34:06浏览次数:32  
标签:hash url js substring href var query 替换 first

function replaceUrlParams(key, val) {
  let href = location.href;
  if (href.indexOf("?") === -1) return;
  var query = href.indexOf("?") + 1;
  var hash = href.indexOf("#") + 1;
  var first = href.substring(query, hash === 0 ? href.length : hash - 1);
  var sec = hash === 0 ? "" : href.substring(hash);
  first = first
    .split("&")
    .map(function (param) {
      return param.startsWith(key + "=") ? key + "=" + val : param;
    })
    .join("&");

  history.replaceState(
    "",
    "",
    href.substring(0, query) + first + (hash === 0 ? "" : "#" + sec)
  );
}

 

标签:hash,url,js,substring,href,var,query,替换,first
From: https://www.cnblogs.com/laremehpe/p/17965025

相关文章

  • js Set方法
    ECMAScript6新增的Set是一种新集合类型,为这门语言带来集合数据结构。Set在很多方面都像是加强的Map,这是因为它们的大多数API和行为都是共有的。1.基本API:使用new关键字和Set构造函数可以创建一个空集合:constm=newSet();如果想在创建的同时初始化实例,则可以给Set......
  • js DOM 节点元数据
    这样,拿不到弱映射中的健,也就无法取得弱映射中对应的值。虽然这防止了前面提到的访问,但整个代码也完全陷入了ES6之前的闭包私有变量模式。constUser=(()=>{constwm=newWeakMap();classUser{constructor(id){this.idProperty=Symbol('id');......
  • js 弱键
    WeakMap中“weak”表示弱映射的键是“弱弱地拿着”的。意思就是,这些键不属于正式的引用,不会阻止垃圾回收。但要注意的是,弱映射中值的引用可不是“弱弱地拿着”的。只要键存在,键/值对就会存在于映射中,并被当作对值的引用,因此就不会被当作垃圾回收。来看下面的例子:constwm=ne......
  • js WeakMap
    ECMAScript6新增的“弱映射”(WeakMap)是一种新的集合类型,为这门语言带来了增强的键/值对存储机制。WeakMap是Map的“兄弟”类型,其API也是Map的子集。WeakMap中的“weak”(弱),描述的是JavaScript垃圾回收程序对待“弱映射”中键的方式。6.5.1基本API可以使用new关......
  • js 选择Object还是Map
    键和值在迭代器遍历时是可以修改的,但映射内部的引用则无法修改。当然,这并不妨碍修改作为键或值的对象内部的属性,因为这样并不影响它们在映射实例中的身份:constm1=newMap([["key1","val1"]]);//作为键的字符串原始值是不能修改的for(letkeyofm1.keys()){......
  • js 顺序与迭代
    与Object类型的一个主要差异是,Map实例会维护键值对的插入顺序,因此可以根据插入顺序执行迭代操作。映射实例可以提供一个迭代器(Iterator),能以插入顺序生成[key,value]形式的数组。可以通过entries()方法(或者Symbol.iterator属性,它引用entries())取得这个迭代器:constm......
  • Js中的闭包
    Js中的闭包APR 11TH, 2017 5:11PM闭包的概念Wikipedia:Inprogramminglanguages,closures(alsolexicalclosuresorfunctionclosures)areatechniqueforimplementinglexicallyscopednamebindinginlanguageswithfirst-classfunctions.译文:”在编程语言......
  • IIS实现负载均衡,通过ARR和URL重写
    目录一、实现整体方式介绍 二、配置负载均衡服务 三、把请求转发到负载均衡器 回到顶部一、实现整体方式介绍项目中部署在windows服务器上的项目,需要部署负载均衡,本来想用nginx来配置的,奈何iis上有几个项目,把80端口和443端口占用了,nginx就用不了了(因为通过域名访......
  • 面孔替换:Face Swap by Akool
    在数字时代,人们对于创意和个性化的追求不断增长。在这个背景下,FaceSwapbyAkool作为一款高级在线面孔替换平台,为用户提供了专业级的体验。它不仅能够让用户变身电影角色,还能生成个性化的头像,为用户创造专业的工作室体验。FaceSwapbyAkool简介FaceSwapbyAkool是一款高级的......
  • js 获取 url 中的参数
    方法一: functiongetParam(name){varreg=newRegExp("(^|&)"+name+"=([^&]*)(&|$)");varr=window.location.search.substr(1).match(reg);if(r!=null)returnunescape(r[2]);returnnull;}//例如网址是 ht......