一個angular版的url中獲取參數的插件
(function (angular) {
angular.module('myApp')
.service('urlParamService', function () {
//url中取中文
this.getChineseParam = function (name) {
var re = new RegExp("[&,?]" + name + "=([^//&]*)", "i");
var a = re.exec(document.location.href);
if (a == null)
return "";
return decodeURI(a[1]);
};
this.getParam = function (name) {
var re = new RegExp("[&,?]" + name + "=([^//&]*)", "i");
var a = re.exec(document.location.href);
if (a == null)
return "";
return unescape(a[1]);
};
//從hash中取參數
this.getHashParam = (function (name) {
let hash = decodeURI(window.location.hash);
let paramArr = hash.split('&');
return function (name) {
let tempStr = "";
let tempStr1 = "";
if (paramArr[0].indexOf('?') > -1) {
tempStr1 = paramArr[0].substring(paramArr[0].lastIndexOf('?') + 1);
}
tempStr = paramArr.find(x => x.indexOf(name + '=') > -1);
if (tempStr1 && tempStr1.indexOf(name) > -1 && tempStr1.substring(name.length + 1)) {
tempStr1 = tempStr1.indexOf("#") > 0 ? tempStr1.substring(0, tempStr1.indexOf("#")) : tempStr1;
return tempStr1.substring(name.length + 1);
}
else if (tempStr && tempStr.indexOf(name) > -1 && tempStr.substring(name.length + 1)) {
tempStr = tempStr.indexOf("#") > 0 ? tempStr.substring(0, tempStr.indexOf("#")) : tempStr;
return tempStr.substring(name.length + 1);
}
else {
return '';
}
}
}());
})
})(angular);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.