UNPKG

@buession/prototype

Version:

A native object extension framework for Javascript.

93 lines 3.26 kB
"use strict"; /** * Window 对象扩展 */ Object.defineProperty(window, "browser", { value: { userAgent: navigator.userAgent, name: navigator.appName, version: navigator.appVersion, isMobile: ["Android", "iPhone", "iPod", "Windows Phone", "Mobile", "Coolpad", "mmp", "SmartPhone", "midp", "wap", "xoom", "Symbian", "J2ME", "Blackberry", "Wince"].some(function (value) { return navigator.userAgent.exists(value); }), isChrome: /\(KHTML, like Gecko\) Chrome\//.test(navigator.userAgent), isFirefox: navigator.userAgent.exists("Firefox"), isMozilla: navigator.userAgent.exists("Mozilla"), isEdge: navigator.userAgent.exists("Edge"), isMSIE: navigator.userAgent.exists("MSIE") && navigator.userAgent.exists("compatible"), isOpera: navigator.userAgent.exists("Opera"), isSafari: navigator.userAgent.exists("Safari"), isNetscape: /Netscape([\d]*)\/([^\s]+)/i.test(navigator.userAgent) }, configurable: true, writable: false }); /** * 将字符串复制到剪贴板 * * @param str 字符串 */ Window.prototype.copy = function (str) { try { if (Object.isObject(this.clipboardData)) { this.clipboardData.setData("text", str); } else { var fakeElement = document.createElement("textarea"); fakeElement.style.border = "none"; fakeElement.style.margin = "0"; fakeElement.style.padding = "0"; fakeElement.style.position = "absolute"; fakeElement.style.top = "-9999px"; fakeElement.style.left = "-9999px"; fakeElement.value = str; fakeElement.setAttribute("readonly", ""); document.body.appendChild(fakeElement); fakeElement.setSelectionRange(0, str.length); fakeElement.select(); document.execCommand("copy"); fakeElement.remove(); } } catch (e) { console.error(e); } }; /** * 获取所有的请求参数及值 * * @return 所有的请求参数及值 */ Location.prototype.getParameters = function () { var queryString = this.search; var parameters = {}; if (queryString.indexOf("?") != -1) { queryString = queryString.substring(1); var parts = queryString.split("&"); for (var i = 0; i < parts.length; i++) { var temp = parts[i].split("="); var val = temp.length == 2 ? encodeURIComponent(temp[1]) : ""; if (Object.isUndefined(parameters[temp[0]])) { parameters[temp[0]] = val; } else { if (Object.isArray(parameters[temp[0]]) == false) { var oldVal = parameters[temp[0]]; delete parameters[temp[0]]; parameters[temp[0]] = [oldVal]; } parameters[temp[0]].push(val); } } } return parameters; }; /** * 获取指定请求参数的值 * * @param name 参数名 * @return 指定请求参数的值 */ Location.prototype.getParameter = function (name) { var parameters = this.getParameters(); return parameters[name]; }; //# sourceMappingURL=window.js.map