获取页面的url及参数

)页面获取对应参数

通过正则匹配获取:

function getUrlParam (partName) {
                    var reg = new RegExp('(^|&)' + partName + '=([^&]*)(&|$)', 'i');
                    var r = window.location.search.substr(1).match(reg);
                    if (r != null) {
                        return unescape(r[2]);
                    }
                    return null;
                }

//https://cdn.demo.com/index.html#/?gameid=1024&posid=996&autoopenpage=true

getUrlParam("gameid"); // 1024 
getUrlParam("posid"); // 996 
getUrlParam("autoopenpage"); // true 
getUrlParam("nothing"); // ''

 

通过location上的search方法和URLSearchParams,支持所有模式

  function getUrlParam(name) {
    let qs = arguments[1] || location.search.length > 0 ? location.search.substring(1) : '',
        args = {};
    let searchParams = new URLSearchParams(qs);
    return searchParams.get(name) ? searchParams.get(name) : '';
  };

//https://cdn.demo.com/index.html?gameid=1024&posid=996&autoopenpage=true

  getUrlParam("gameid"); // 1024
  getUrlParam("posid"); // 996
  getUrlParam("autoopenpage"); // true
  getUrlParam("nothing"); // ''

 

通过location上的search方法,支持所有模式

 function getUrlParam(name, url) {
    let qs = arguments[1] || loaction.search.length > 0 ? location.search.substring(1) : '',
        args = {};
    for(let item of qs.split("&").map(val => val.split("="))) {
        return name == item[0] ? item[1] : '';
    };
  };

//https://cdn.demo.com/index.html?gameid=1024&posid=996&autoopenpage=true

  getUrlParam("gameid"); // 1024
  getUrlParam("posid"); // 996
  getUrlParam("autoopenpage"); // true
  getUrlParam("nothing"); // ''

 

 

(二)传递参数时,中文乱码解决

传参编码形式: 

window.location.href = 'index.html?contentA='+encodeURI(中文)
window.location.href = 'index.html?contentA='+encodeURI(encodeURI(中文))

一般情况进行1次编码,如果不行则进行2次编码

 

接收页面解码形式:

decodeURI(window.location.href)

 

 

参考地址: 获取页面的url及参数

 

posted @ 2023-03-14 10:25  随风去远方  阅读(129)  评论(0编辑  收藏  举报
// 博客园添加鼠标粒子吸附特效