web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. seo教程
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站

js链接新增(修改)参数页面不刷新

791 ℃
     

js如何实现链接上有参数修改指定参数,没有参数新增指定参数,下面web建站小编给大家简单介绍2种方法!

如果只有一个参数

//获取链接参数
function getQueryString(name) {
  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  var r = window.location.search.substr(1).match(reg);
  if (r != null) return decodeURI(r[2]);
  return null;
}

var url = window.location.href
if(getQueryString('code')){
  window.history.pushState({}, 0,  url.split('?')[0] + '?code=1111');
}else{
  window.history.pushState({}, 0,  window.location.href + '?code=1111');
}

如果有多个参数

function replaceParamVal(paramName, replaceWith, isRefresh) {
  var oUrl = this.location.href.toString();
  if (paramName && replaceWith) {
    if (oUrl.indexOf(paramName + "=" + replaceWith) > 1) {
      return;
    }
  }
  if (oUrl.indexOf('&'+paramName+'=') > 0) {
    var re = eval('/(&' + paramName + '=)([^&]*)/gi');
    var nUrl = oUrl.replace(re, '&'+paramName + '=' + replaceWith);
  } else {
    if (oUrl.indexOf("?") > 0) {
      var nUrl = oUrl + "&" + paramName + "=" + replaceWith;
    } else {
      var nUrl = oUrl + "?" + paramName + "=" + replaceWith;
    }
  }
  if (isRefresh) {
    window.location.href = nUrl
  }
  var stateObject = { id: "" };
  var title = "";
  history.replaceState(stateObject, title, nUrl);
}

//调用方法
replaceParamVal('code', 1234 , 0) 

//isRefresh 0执行后不刷新,1执行后刷新

介绍javascript获取url参数的四种方法?

javascript有哪些代码可以单行解决的

js方法实现对象转url参数

js新增/修改/删除url地址参数名称

JavaScript开发小技巧之各种URL操作

标签: url参数, 修改参数

上面是“js链接新增(修改)参数页面不刷新”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。

当前网址:https://ipkd.cn/webs_3264.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

当前位置: 网站首页 > js
本文共计1055个字,预计阅读时长8分钟
生活小工具,收录了80多款小工具
上一篇: 基于JavaScrip的web动画库——GSAP
下一篇: 免费商用中文字体——优设鲨鱼菲特健康体
x 打工人ai神器