一個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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章