2010-10-16 10 views
13

È possibile utilizzare javascript per gestire l'evento della pagina di aggiornamento? quello che voglio è ottenere preavviso se l'utente fa uno di questi comportamenti: paginaGestire l'evento di pagina di aggiornamento con javascript

  • aggiornamento premendo F5
  • Chiudi scheda o il browser
  • immettere un nuovo URL quindi premere Invio sulla navigatore

per visualizzare un messaggio di avviso?
Grazie in anticipo!

risposta

22

Non si desidera l'aggiornamento, si desidera l'evento onbeforeunload.

http://msdn.microsoft.com/en-us/library/ms536907(VS.85).aspx

codice di esempio da un articolo

<HTML> 
<head> 
<script> 
function closeIt() 
{ 
    return "Any string value here forces a dialog box to \n" + 
     "appear before closing the window."; 
} 
window.onbeforeunload = closeIt; 
</script> 
</head> 
<body> 
    <a href="http://www.microsoft.com">Click here to navigate to 
     www.microsoft.com</a> 
</body> 
</html> 
+2

non funziona su chrome – Chetan

+1

Ora lavoro per la versione più recente di chrome :) –

+0

Non funziona con la versione corrente di Chrome '60.0.3112.101 (Build ufficiale) (64-bit)'. –

4

Il più vicino si potrebbe ottenere è l'evento window.onbeforeunload:

window.onbeforeunload = function (e) { 
    var e = e || window.event; 

    // For IE and Firefox 
    if (e) { 
     e.returnValue = 'Leaving the page'; 
    } 

    // For Safari 
    return 'Leaving the page'; 
}; 

E 'importante notare che è necessario restituire una stringa da questa funzione.

+0

Sono abbastanza sicuro che non hai bisogno di fare nulla con 'e.returnValue' per IE/FF. Hai solo bisogno di restituire una stringa. –

+0

@MattBall - si riferisce a IE <8 e Firefox precedenti alla versione 4. vedere [i documenti su MDN] (https://developer.mozilla.org/en/DOM/window.onbeforeunload). –

Problemi correlati