Forked from miohtama/parse-hash-bang-arguments-in-javascript.js
Last active
December 15, 2015 04:29
-
-
Save zaus/5201739 to your computer and use it in GitHub Desktop.
Revisions
-
zaus revised this gist
Mar 20, 2013 . 1 changed file with 12 additions and 22 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,32 +1,22 @@ /** * Parse hash bang parameters from a URL as key value object. * For repeated parameters the last parameter is effective. * If = syntax is not used the value is set to null. * #!x&y=3 -> { x:null, y:3 } * @param url URL to parse or null if window.location is used * @return Object of key -> value mappings. * @source https://gist.github.com/zaus/5201739 */ function hashbang(url, i, hash) { url = url || window.location.href; var vars = {}, hashes = url.slice(url.indexOf('#!') + 2).split('&'); for(i = hashes.length; i--;) { hash = hashes[i].split('='); vars[hash[0]] = hash.length > 1 ? hash[1] : null; } return vars; } -
miohtama renamed this gist
Jan 6, 2012 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
miohtama renamed this gist
Jan 6, 2012 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
miohtama created this gist
Jan 6, 2012 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,32 @@ /** * Parse hash bang parameters from a URL as key value object. * * For repeated parameters the last parameter is effective. * * If = syntax is not used the value is set to null. * * #x&y=3 -> { x:null, y:3 } * * @param aURL URL to parse or null if window.location is used * * @return Object of key -> value mappings. */ function parseHashBangArgs(aURL) { aURL = aURL || window.location.href; var vars = {}; var hashes = aURL.slice(aURL.indexOf('#') + 1).split('&'); for(var i = 0; i < hashes.length; i++) { var hash = hashes[i].split('='); if(hash.length > 1) { vars[hash[0]] = hash[1]; } else { vars[hash[0]] = null; } } return vars; }