Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save lijie2000/bd509a9272e9853ccd38c9d69b0c1b8e to your computer and use it in GitHub Desktop.
Save lijie2000/bd509a9272e9853ccd38c9d69b0c1b8e to your computer and use it in GitHub Desktop.
Parse hash bang HTTP GET query style arguments from an URL using Javascript
/**
* 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;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment