mirror of
https://github.com/wassname/Mostly-Harmless.git
synced 2026-08-04 12:24:13 +08:00
Added parseURL.
This commit is contained in:
@@ -69,6 +69,41 @@ MHUtils.prototype.forEach = function (array, action) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses a URL and returns a useful object. http://james.padolsey.com/javascript/parsing-urls-with-the-dom/
|
||||
* @alias MHUtils.parseURL(url)
|
||||
* @param {String} url A string with a full URL to be parsed.
|
||||
* @return {Object} Returns a URL object.
|
||||
* @method
|
||||
*/
|
||||
MHUtils.prototype.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('/')
|
||||
};
|
||||
}
|
||||
|
||||
/*
|
||||
* JavaScript Pretty Date
|
||||
* Thanks to Dean Landolt's comment on
|
||||
|
||||
Reference in New Issue
Block a user