I have a URL with a long query string attached to it. After the page loads, I do not require the query string. So I want to remove the query string from the address bar without a page reload.
I tried parent.location.hash = '';
and window.location.href = '/#'
They did not make a difference.
As others have said, you can do this using the History API in modern browsers (IE10+, FF4+, Chrome5+). There was no full example in the answers, so figured I'd share my solution, as I just had a requirement to do the same thing:
history.pushState(null, "", location.href.split("?")[0]);
If you are using Modernizr, you can also check if the History API is available like so:
if (Modernizr.history) {
history.pushState(null, "", location.href.split("?")[0]);
}