How can jQuery detect changes to a url?
For example: If a user goes to a page site.com/faq/ nothing shows, but if he goes to site.com/faq/#open jquery detects it and does something.
How can jQuery detect changes to a url?
For example: If a user goes to a page site.com/faq/ nothing shows, but if he goes to site.com/faq/#open jquery detects it and does something.
You can use the hashchange event.
function hashchanged(){
var hash = location.hash.replace( /^#/, '' );
//your code
}
window.addEventListener("hashchange", hashchanged, false);
or integrate a jquery hashchange plugin
$(function(){
// Bind the event.
$(window).hashchange(hashchanged);
// Trigger the event (useful on page load).
hashchanged();
});
function hashchanged(){
var hash = location.hash.replace( /^#/, '' );
//your code
}
$(window).haschange belongs to the mentioned plugin and the question is illustrated with an example by the OPSimply look at window.location.hash on page load:
$(document).ready(function() {
if(window.location.hash === "open")
{
//Show something
}
});
Or bind to the hashchange event of the window:
$(document).ready(function() {
$(window).hashchange(hashchanged);
});
function hashchanged()
{
//Show something
}