getHashUrlVars

function getHashUrlVars(){
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('#') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}

// if the url is: http://server/home.xsp#content=news&id=123
// fhe following function return "news"

getHashUrlVars()["content"]






This function return url parameters after the hash, this is useful if you are using the "Dynamic Content" control in extlib

Note:

- You cannot read hash parameters with SSJS
- You cannot change the url of of the addressbar without reloading the whole page. (only the fragment part can be changed with CSJS)


JavaScript (Client)
Thomas Adrian
December 10, 2011 11:31 AM
Rating
170

All code submitted to OpenNTF XSnippets, whether submitted as a "Snippet" or in the body of a Comment, is provided under the Apache License Version 2.0. See Terms of Use for full details.



1 comment(s)Login first to comment...
Mark Leusink
(at 04:13 on 21.10.2015)
Here's a shorter version using the build-in dojo.hash() and dojo.queryToObject() function:

var hashUrlVars = dojo.queryToObject( dojo.hash() );

And if you want to update the hash:

var hashUrlVars = dojo.queryToObject( dojo.hash() );
hashUrlVars['myNewHashParam'] = "someValues";
dojo.hash( dojo.objectToQuery(hashUrlVars) );