Search code examples
javascriptjquerybackbrowser-historyhashchange

Javascript/jQuery detect hash change only on browser back/forward button click


Is it possible to detect the hashchange only on a browser history change (i.e. Back or Forward button)?

I have seen the onBeforeUnload event, but this event does not fire on hash change, as the window is not unloading.

The hashchange event obviously fires anytime the hash changes. Any fix? Preferably without a plugin. I have seen the jQuery history plugin, but am looking for the simplest solution.

Thanks for the help.


Solution

  • Take a look at the window.onhashchange event.

    It is not currently supported in all browsers however. Take a look at the BA jQuery Hash Change Plugin here. It may work, if you choose to use a plugin in the end.

    I hope this helps!