Domanda

Quando l'utente passa storia-back-1 ... come faccio a rilevare che? E poi, allerta "l'utente ha cliccato di nuovo!"

Uso lega (e jQuery preferibilmente)

È stato utile?

Soluzione

In genere non si può (restrizione di sicurezza del browser). Si può dire se l'utente si sposta dalla pagina (onbeforeunload, onunload fuoco), ma non si può dire dove sono andati a meno che non hai impostato la tua pagina per consentire di esso.

HTML5 introduce l'API HTML5 Storia; nei browser conformi, il onpopstate evento verrà generato se l'utente si sposta di nuovo ad un "pagina" in precedenza sul tuo sito.

Altri suggerimenti

Prova:

window.onbeforeunload = function (evt) {
  var message = 'Are you sure you want to leave?';
  if (typeof evt == 'undefined') {
    evt = window.event;
  }
  if (evt) {
    evt.returnValue = message;
  }
  return message;
}
window.onpopstate=function()
{
  alert("Back/Forward clicked!");
}

Di seguito sono riportati i passi per rilevare di nuovo scatto del tasto

  1. Registra un evento di pressione mouse sul $('body').on('mousedown' ,'on all li' ); corpo

    2.Now impostare una variabile quando si verificano eventi MouseDown.

    3.Verificare questa variabile quando la posizione modifiche.

Se chages variabile su TRUE significa elenco cliked altrimenti BackButton

Questo lavoro nel mio caso d'uso .Questa soluzione può aiuta gli altri perché dipende dalla progettazione app

Nella pagina che si sta guardando, è possibile aggiungere questo pezzo di codice all'evento onLoad per spostarli di nuovo nella pagina erano su.

if(history.length>0)history.go(+1)

Se si desidera che l'avviso quindi rendono

if(history.length>0)alert("the user clicked back!")
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top