$g.$utils.hash = { get(win) { return decodeURIComponent((win || top).location.hash.substr(1)); }, getSearchAndHash(win) { win || (win = top); return decodeURIComponent(win.location.search + win.location.hash); }, set(hash, win, isReload) { hash || (hash = ""); win = win || top; win.location.hash = hash; isReload && win.location.reload(); }, addListener(win) { (win || window).onhashchange = function () { this.location.reload(); } }, getUrlParam(name, win, isEncode) { var r = (win || top).location.search.substr(1).match(new RegExp("(^|&)" + name + "=([^&]*)(&|$)")); if (r != null) { return isEncode ? r[2] : decodeURIComponent(r[2]); } return null; }, getUrlParams(url) { var reg = /([^=&\s]+)[=\s]*([^&\s]*)/g, ls = url || location.search.substr(1), obj = {}; while (reg.exec(ls)) obj[RegExp.$1] = decodeURIComponent(RegExp.$2); return obj; }, setUrlSearch(search, win, isReload) { /*此方法可以点击网页返回按钮*/ win = win || top; win.history.pushState(null, null, search || "./"); isReload && win.location.reload(); }, replceUrlSearch(search, win, isReload) { /*此方法无网页返回按钮行为*/ win = win || top; win.history.replaceState(null, null, search || "./"); isReload && win.location.reload(); }, getFileName() { var lp = location.pathname, fn = lp.substr(lp.lastIndexOf("/") + 1); return fn.substr(0, fn.lastIndexOf(".")); } };
扩展阅读: