首页 > 其他分享 >js修改网址URL参数的方法

js修改网址URL参数的方法

时间:2022-09-23 09:22:53浏览次数:58  
标签:function nUrl oUrl URL replaceWith js 网址 paramName var

js修改URL参数,修改后可刷新页面也可以不刷新页面

//paramName=参数名称,replaceWith=参数值,isRefresh=是否刷新(0不刷新,1刷新)
        //使用方法:replaceParamVal("userId", "333", 0)
        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;
                }
            }
            // this.location = nUrl;
            if (isRefresh) {
                window.location.href = nUrl
            }
            var stateObject = { id: "" };
            var title = "";
            history.replaceState(stateObject, title, nUrl);
        }
        
        $(function () {
            $("#test1").click(function () {
                replaceParamVal("userId", "333", 0)//不刷新
            })
            $("#test2").click(function () {
                replaceParamVal("userId", "555", 1)//刷新
            })
        })

js获取参数的方法

function GetQueryString(name) {
            var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
            var r = window.location.search.substr(1).match(reg);
            if (r != null) {
                return decodeURI(r[2]);
            }
            return null;
        };

 

标签:function,nUrl,oUrl,URL,replaceWith,js,网址,paramName,var
From: https://www.cnblogs.com/webapi/p/16721551.html

相关文章

  • rxjs 在 react 下的应用
    设置一个subject,然后在组件内定义一个subscription想要发送事件就用subject.next订阅就赋值subject.asObservable().subscribe()直接看代码constsubject=ne......
  • JS 使用sessionStorage存取对象时显示[object object]的解决
    使用sessionStorage进行数据存取,如果数据是对象,则提取时为[objectobject],基于此问题,解决方法如下: 保存数据时window.sessionStorage.setItem("key",JSON.stringify(v......
  • js ArrayBufferView & TypeArray All In One
    jsArrayBufferView&TypeArrayAllInOne//✅>1000002**64;18446744073709552000//✅>1000002**32;4294967296//❌太小了<1000002**16;65536/......
  • js Object key All In One
    jsObjectkeyAllInOne//字面符号/初始化符号obj={};obj[0]='a';//'a'obj;//{0:'a'}0:"a"[[Prototype]]:Objectobj[false]=true;//trueobj......
  • JS 闭包
    闭包(closure)是Javascript语言的一个难点,也是它的特色。闭包的作用:通过一系方法,将函数内部的变量(局部变量)转化为全局变量。要理解闭包,首先必须理解Javascript特殊的变......
  • JSON和JavaScript自定义对象
    JavaScript自定义对象:var对象名称={属性名称1:属性值1,属性名称2:属性值2,...,函数名称:function(形参列表){},...}; 访问对象:对象名称.属性名称......
  • js实现数组内相邻元素上移,下移
    上移、下移/**   *移动切换位置   *@param{Array}arr数据源   *@param{Number}index序号   *@param{String}type上移下移......
  • JS注意事项 && 代码调试
    JavaScript识别七种基本(不可变)数据类型:Boolean、Null、Undefined、Number、String、Symbol(ES6新增)和BigInt(ES2020新增),以及一种可变项类型:Object。注意,在JavaScript中,数组严......
  • nodejs 安装多版本 版本切换
          有时候需要运行不同的项目,node版本不一致会导致不少问题,特别是最新版本对应的一些插件,由于语法等原因导致不一定兼容低版本,这样运行低版本环境的项目的时候很......
  • scrapy框架之生成存储文件json,xml、csv文件
    以起点小说网举例子网址https://www.qidian.com/rank/yuepiao/默认大家已经生成好scrapy项目了,如果不会请参考我之前的文章scrapy框架之创建项目运行爬虫爬取网页获......