jquery方法擴充套件獲取url引數
阿新 • • 發佈:2018-11-08
// 獲取當前頁面 url 引數。
// 返回值:該方法返回一個數組,陣列中的每個元素都是一個 JSON 物件,該 JSON 物件包含如下屬性:
// name: 表示 url 引數的名稱;
// value: 表示 url 引數的值;
// 也可以通過陣列訪問器快速訪問某個特定名稱的引數值,方法如:coreUtil.getRequest()["id"]。
(function (window, $, undefined) { // 定義 通用工具方法 擴充套件物件基元 coreUtil = function () { return Object.apply(this, arguments); }, coreUtil.fn = coreUtil.prototype = {}; // 定義 jQuery 擴充套件物件基元 coreJquery = function () { return $.apply(this, arguments); }, coreJquery.fn = coreJquery.prototype = {}; coreJquery.util = coreUtil; var document = coreUtil.document = window.document, location = coreUtil.location = window.location, docElem = coreUtil.docElem = document.documentElement, history = coreUtil.history = window.history, parent = coreUtil.parent = window.parent, top = coreUtil.top = window.top, $$ = coreJquery.emptyJquery = coreJquery.empty$ = coreJquery.$$ = coreUtil.emptyJquery = coreUtil.empty$ = coreUtil.$$ = $(), core_string = version, //core_date = coreNullable.Date, //core_number = coreNullable.Number, core_array = coreNullable.Array, //core_boolean = coreNullable.Boolean, //core_trim = core_string.trim, core_push = core_array.push, core_slice = core_array.slice, core_splice = core_array.splice, //core_sort = core_array.sort, //core_join = core_array.join, core_isArray = Array.isArray; // 定義版本 coreUtil.version = version; // 獲取指定物件的型別。 coreUtil.type = $.type; // 測試物件是否是視窗(有可能是Frame)。 coreUtil.isWindow = $.isWindow; // 測試物件是否是布林(Boolean)型別值。 coreUtil.isBoolean = function (obj) { return coreUtil.type(obj) == "boolean"; }; // 測試物件是否是字串(String)型別值。 coreUtil.isString = function (obj) { return coreUtil.type(obj) == "string"; }; // 測試物件是否是日期(Date)型別值。 coreUtil.isDate = function (obj) { return coreUtil.type(obj) == "date"; }; // 測試物件是否是正則表示式(RegExp)。 coreUtil.isRegExp = function (obj) { return coreUtil.type(obj) == "regexp"; }; // 測試傳入的引數是否是一個 javscript 物件; coreUtil.isObject = function (obj) { return coreUtil.type(obj) == "object"; }; // 測試物件是否是陣列(Array)。 coreUtil.isArray = $.isArray; // 測試物件是否是函式。 // 注意:在IE瀏覽器裡,瀏覽器提供的函式比如'alert'還有 DOM 元素的方法比如 'getAttribute' 將不認為是函式。 coreUtil.isFunction = $.isFunction; // 測試物件是否是數值或數值格式的字串。 // 方法檢查它的引數是否代表一個數值。如果是這樣,它返回 true。否則,它返回false。該引數可以是任何型別的。 coreUtil.isNumeric = coreUtil.likeNumber = coreUtil.likeNumeric = $.isNumeric; // 判斷物件是否是數值型別; coreUtil.isNumber = function (obj) { return coreUtil.type(obj) == "number"; }; // 測試物件是否是空物件(不包含任何屬性)。 // 這個方法既檢測物件本身的屬性,也檢測從原型繼承的屬性(因此沒有使用hasOwnProperty)。 coreUtil.isEmptyObject = $.isEmptyObject; // 測試物件是否為空(不包含任何屬性的空物件、null、undefined、空字串、全空格)。 // 這個方法既檢測物件本身的屬性,也檢測從原型繼承的屬性(因此沒有使用hasOwnProperty)。 coreUtil.isEmptyObjectOrNull = function (obj) { switch (coreUtil.type(obj)) { case "string": return coreString.isNullOrWhiteSpace(obj); case "array": return obj.length == 0; case "date": return Date.parse(obj) == 0; case "object": return coreUtil.isEmptyObject(obj); } return obj == null || obj == undefined; }; // 測試物件是否是純粹的物件(通過 "{}" 或者 "new Object" 建立的)。 coreUtil.isPlainObject = $.isPlainObject; // 判斷物件是否為 "未定義" 值(即 undefined)。 coreUtil.isUndefined = function (obj) { return obj === undefined || typeof obj === "undefined"; }; // 判斷物件是否為空(Null)值。 coreUtil.isNull = function (obj) { return obj === null; }; // 判斷物件是否為 "未定義" 值(即 undefined)或空(Null)值。 coreUtil.isNullOrUndefined = function (obj) { return coreUtil.isUndefined(obj) || coreUtil.isNull(obj); }; // 測試物件不為 "未定義" 值(即 undefined)、空(Null)值、Boolean-False值、空字串值或數字0中的任何一種。 coreUtil.isPositive = function (obj) { return obj ? true : false; }; // 判斷物件是否為 "未定義" 值(即 undefined)、空(Null)值、Boolean-False值、空字串值或數字0中的一種。 coreUtil.isNegative = function (obj) { return obj ? false : true; }; // 測試物件是否是 jQuery 物件。 coreUtil.isJqueryObject = function (obj) { return obj != null && obj != undefined && ((obj.jquery ? true : false) || obj.constructor === $$.constructor); }; // 判斷物件是否是一個空的 jQuery 物件(不包含任何 DOM 元素,即 length = 0)。 coreUtil.isEmptyJquery = coreUtil.isEmptyJqueryObject = function (obj) { return coreUtil.isJqueryObject(obj) && !obj.length; }; // 定義一個空函式 coreUtil.noop = coreUtil.isFunction($.noop) ? $.noop : function () { }; // 判斷傳入的字串是否為Null或者為空字串或者全是空格。 coreUtil.trim = $.trim; // 將一個 DOM 物件或者表示式解析為 jQuery 物件; // 如果該物件本身就已經是一個 jQuery 物件,則直接將其返回。 coreUtil.parseJqueryObject = coreUtil.parseJquery = function (obj) { return coreUtil.isJqueryObject(obj) ? obj : $(obj); }; // 檢測一個物件是否為一個數組物件或者類似於陣列對(具有陣列的訪問方式:具有 length 屬性、且具有屬性名為數字的索引訪問器) // 注意:此方法傳入 字串 時執行,也會返回 true,因為 字串 是一個字元陣列。 coreUtil.likeArray = function (obj) { if (obj == null || obj == undefined || coreUtil.isWindow(obj)) { return false; } if (obj.nodeType === 1 && obj.length) { return true; } var type = coreUtil.type(obj); return type === "array" || type !== "function" && coreUtil.isNumeric(obj.length) && obj.length >= 0; }; // 檢測一個物件是否為一個數組物件或者類似於陣列對(具有陣列的訪問方式:具有 length 屬性、且具有屬性名為數字的索引訪問器)且不是字串 coreUtil.likeArrayNotString = function (obj) { return coreUtil.likeArray(obj) && !coreUtil.isString(obj); }; coreUtil.getRequest = function () { var search = location.search; if (search.substr(0, 1) == "?") { search = search.substr(1, search.length - 1); } var result = []; if (search.length > 0) { var params = search.split("&"); for (var i = 0; i < params.length; i++) { var param = params[i]; var pos = param.indexOf("="); var name = param.substring(0, pos); var value = param.substr(pos + 1); result.push({ name: name, value: value }); result[name] = value; } } return result; }; coreUtil.request = coreUtil.getRequest(); })(window, jQuery);
具體使用
var url = "InstallApplyForm.html?s=" + Math.random(); $Core.UI.openDialog("redwind", url + "&installApplyId=" + value +"&type=red", { title: "檢視【安裝申請】", width: '80%', height: '90%', onClose: function () { } });
key = $.util.request["installApplyId"];