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

987 ℃

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://m.ipkd.cn/webs_3264.html

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

input输入文字输出对应的内容(如果有图片显示,
php如何做一个搜索功能(实时返回模糊搜索)
react有哪些脚手架需要安装(依赖命令)
帝国cms功能之序号标签补零,位数不足前面加0补
vue项目中如何配置babel转换代码