Come posso rilevare una modifica della barra degli indirizzi con JavaScript?

Ho un’applicazione pesante Ajax che può avere un URL come

http://example.com/myApp/#page=1 

Quando un utente manipola il sito, la barra degli indirizzi può cambiare in qualcosa di simile

 http://example.com/myApp/#page=5 

senza ricaricare la pagina.

Il mio problema è la seguente sequenza:

  1. Un utente memorizza il primo URL.
  2. L’utente manipola l’applicazione in modo tale che il secondo URL sia lo stato corrente.
  3. L’utente fa clic sul segnalibro creato nel passaggio 1.
  4. L’URL nella barra degli indirizzi cambia da http://example.com/myApp/#page=5 a http://example.com/myApp/#page=1 , ma non conosco un modo per rilevare il il cambiamento è successo.

Se rilevo un cambiamento, alcuni JavaScript potrebbero agire su di esso.