/** * @author: 苗士军 * @description URL工具类 */ UrlUtils = { /** * @description 判断url是否存在(存在跨域问题) * @param _url * @return {boolean} */ isTrueUrl: function (_url) { result = false; if (_url == undefined || _url == '') { return result; } $.ajax({ url: _url, type: "get", async: false, success: function () { result = true; }, statusCode: { 404: function () { } } }); return result; }, /** * @description 解析url * @param url * @return {{source: *, protocol, host: string, port: (*|Function|string), query: (*|string), params, file: *, hash, path: string, relative: *, segments: Array}} */ parseURL: function (url) { var a = document.createElement('a'); a.href = url; return { source: url, protocol: a.protocol.replace(':', ''), host: a.hostname, port: a.port, query: a.search, params: (function () { var ret = {}, seg = a.search.replace(/^?/, '').split('&'), len = seg.length, i = 0, s; for (; i < len; i++) { if (!seg[i]) { continue; } s = seg[i].split('='); ret[s[0]] = s[1]; } return ret; })(), file: (a.pathname.match(//([^/?#]+)$/i) || [, ''])[1], hash: a.hash.replace('#', ''), path: a.pathname.replace(/^([^/])/, '/$1'), relative: (a.href.match(/tps?://[^/]+(.+)/) || [, ''])[1], segments: a.pathname.replace(/^//, '').split('/') }; }, /** * @description 解析url获取参数 * @param path * @return {{}} */ getParam: function (path) { var result = {}, param = /([^?=&]+)=([^&]+)/ig, match; while ((match = param.exec(path)) != null) { result[match[1]] = match[2]; } return result; } }