As you can detect window.location.hash onchange, for example, I could do this:
if(window.location.hash.hasChanged()) { // ajax stuff } else { // nothing, no hash has been changed (without any window reload) }
If I change the hash, for example. edits and changes the hash, pressing enter after editing, nothing happens, only when the window is reloaded it will detect a hash change.
source share