2016-09-15 2 views
1

utilisant Ajax et essayer de créer un gestionnaire d'événements popstate sur la page réelle Ajax en utilisant l'objet .Document:addEventListener (« popstate ») pas de tir pour .Document

document.addEventListener("popstate", myPopState); 

Malheureusement, cela ne semble jamais déclencheur .

Mon intention étant qu'après le rechargement de la page, le déclencheur d'événement popstate disparaîtra automatiquement.

+2

'window.addEventListener ("popstate", myPopState)' – zer00ne

Répondre

1

intérieur réponse ajax succès, vous pouvez utiliser

  var msg="Any thing which u want"; 
     var customUrl ="www.stackoverflow.com"; 

window.history.pushState({"html":msg,"pageTitle":"My Title"},"", customUrl); 
     window.onpopstate = function(event) { 
      alert('back is clicked'); 
      // what ever u want 
     } 

MISE À JOUR

$(window).unload(function(e){ 
    e.preventDefault(); 
    $(window).trigger('beforeunload'); 

}); 


$(window).bind('beforeunload',function(){ 

alert('call your ajax here'); 
    return ''; 
}); 
+0

mais ne l'écouteur d'événement onpopstate puis rester en permanence afin qu'il continue à être appelé à chaque fois que «arrière» est cliqué? – NickC

+0

@NickC vous pouvez lier un appel sur un document. –

+0

Comment ferais-je cela? window.addEventListener ("popstate", myPopState) .bind (document)? – NickC