2010-10-16 20 views
13

Czy można używać javascript do obsługi zdarzenia odświeżania strony? co chcę dostać powiadomienie jeśli użytkownik wykonaj jedną z tych zachowań: StronaObsługa odświeżania zdarzenia strony za pomocą javascript

  • odświeżania, naciskając klawisz F5
  • blisko zakładka lub przeglądarka
  • wprowadzić nowy adres URL, a następnie naciśnij klawisz ENTER na przeglądarce

, aby wyświetlić komunikat ostrzegawczy?
Z góry dziękuję!

Odpowiedz

22

Nie chcesz odświeżania, chcesz mieć zdarzenie onbeforeunload.

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

Przykładowy kod z artykułu

<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

to nie działa na chrome – Chetan

+1

Praca dla najnowszej wersji chrome teraz :) –

+0

Nie działa na bieżącej wersji Chrome '60.0.3112.101 (Official Build) (64-bit)'. –

4

Najbliżej można dostać to wydarzenie 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'; 
}; 

Ważne jest, aby pamiętać, że trzeba zwracać ciąg z tej funkcji.

+0

Jestem pewien, że nie trzeba robić nic z 'e.returnValue' dla IE/FF. Musisz tylko zwrócić ciąg znaków. –

+0

@MattBall - odnosi się do IE <8 i Firefox przed wersją 4. zobacz [dokumenty na MDN] (https://developer.mozilla.org/en/DOM/window.onbeforeunload). –

Powiązane problemy