Rileva se l’evento di scorrimento è stato creato dall’utente

È ansible stabilire se un evento di scorrimento è stato eseguito dal browser o dall’utente? Nello specifico, quando si utilizza il pulsante Indietro, un browser può saltare all’ultima posizione di scorrimento conosciuta. Se eseguo il binding per scorrere l’evento, come posso sapere se questo è stato causato dall’utente o dal browser?

$(document).scroll( function(){ //who did this?! }); 

Vedo tre tipi di situazioni che causano lo scorrimento in un browser.

  1. L’utente esegue alcune azioni. Ad esempio, utilizza la rotellina del mouse, i tasti freccia, i tasti su / giù della pagina, i tasti home / end.
  2. Il browser scorre automaticamente. Ad esempio, quando si utilizza il pulsante Indietro nel browser, salterà automaticamente all’ultima posizione di scorrimento conosciuta.
  3. Pergamene di Javascript Ad esempio, element.scrollTo(x,y) .