开发公司前端js添加修改URL参数的方法,修改地址后,可以不刷新页面

开发公司最近做项目,开发公司发现之前搞的replaceParamVal()方法有bug,重新修改后,应该完美了。

上代码

//URL替换指定传入参数的值,paramName为参数,replaceWith为新值,isRefresh为是否刷新页面,0表示不需要刷新,这个最牛

举例:

上面这个地址js调用方法:replaceParamVal("popenid","600",0),就会在地址栏上修改参数popenid=600,不会刷新页面,新地址变为:


//调用方法:replaceParamVal("puid","600",1),表示在地址栏上修改成正确的参数puid=600,然后刷新页面


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);
}

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发