解决window.location.search 为空
获取 url 坑:
# 在前拿不到 ?数据, ? 在前,#在后,各拿个的
// 例: http://localhost:9527/#/rights/product/benefit?enterpriseCode=QY000181
方法:一
function queryUrl(str, ignore) {
var t = "";
var n;
var reg = ignore ? "gi" : "g";
var loc = window.location;
loc.toString().replace(new RegExp("[?&]" + str + "=[^&]+", reg), function(r) {
console.log(r + "--------------------------------");
n = r.split("=")[1];
n && (t = n);
});
return t;
}
方法:二
function getParams(name) {
var search = window.location.search.substring(1);
if (!search) {
search = window.location.hash.split("?")[1];
}
if (search) {
var obj = JSON.parse(
'{"' +
decodeURIComponent(search)
.replace(/"/g, '\\"')
.replace(/&/g, '","')
.replace(/=/g, '":"') +
'"}'
);
return name ? obj[name] : obj;
}
}
// 打印
console.log(
"?:" + window.location.search,
"端口号:" + window.location.hash,
"------------",
getParams("enterpriseCode")
queryUrl("enterpriseCode")
);
//结果
?:
端口号:#/rights/product/benefit?enterpriseCode=QY000181
------------
QY000181
QY000181