Muszę wyświetlić okno dialogowe potwierdzenia przed zamknięciem okna przeglądarki przy użyciu javascript lub PHP. Okno potwierdzenia powinno pojawić się po kliknięciu przycisku zamykania przeglądarki. poza tym nie wyświetlaj okna dialogowego. pomóżcie mi.Potwierdź okno dialogowe po zamknięciu przeglądarki?
Odpowiedz
powinien obsługiwać zdarzenie onbeforeunload ...
function closeEditorWarning(){
return 'Are you sure?'
}
window.onbeforeunload = closeEditorWarning;
Albo użyć jQuery, window.attachEvent/window.addEventListener to zrobić ładnie
function doUnload()
{
// use confirm dialog box here
confirm("Window is closing...");
}
<body onunload="doUnload()">
onbeforeunload jest programem obsługi zdarzeń. – mplungjan
onunload
nie jest bardzo przydatne (w moim opinia), ponieważ nie można uzyskać do niczego z żądanym numerem confirm
(z wyjątkiem może to być próba nowego okna z numerem window.open
, więc bardziej przydatne jest onbeforeunload
w tym przypadku.
Twój lepszy zakład to onbeforeunload
, co jest świetne, ale nie działa w Operze (choć zazwyczaj nie jest to łamacz transakcji).
jak bluszcz powiedział, że to wyglądać mniej więcej tak:
<script>
var userIsEditingSomething; // set this if something crazy happens
oldOnBeforeUnload = window.onbeforeunload;
window.onbeforeunload = function() {
// attempt to handle a previous onbeforeunload
if ('function' === typeof oldOnBeforeUnload) {
var message = oldOnBeforeUnload();
if ('undefined' !== typeof message) {
if (confirm('string' === typeof message ? message : 'Are you sure you want to leave this page?')) {
return; // allow user to exit without further annoying pop-ups
}
}
}
// handle our own
if (userIsEditingSomething) {
return 'Are you sure you want to exit?';
}
};
</script>
I wyzwoliłoby to, ilekroć użytkownik opuścił stronę z jakiegokolwiek powodu. NIE TYLKO przy zamykaniu przeglądarki – mplungjan
Masz rację. Chociaż prawdopodobnie istnieją ładne abstrakcje tego problemu (jquery itp.), Lata temu testowałem pod kątem warunku "(event.clientX <0 || event.clientY <0)", aby rozróżnić osobę naciskającą przycisk zamykania okna (warunek jest prawdziwy) i normalnych działań nawigacyjnych (kliknij link, prześlij formularz, z powrotem, do przodu). To nie jest rozwiązanie odporne na awarie (np. ALT-F4 nie został złapany), więc mam nadzieję, że ktoś może dostarczyć ci lepsze rozwiązanie. – ivy
- 1. Potwierdź okno dialogowe w angularjs
- 2. Silverlight Potwierdź okno dialogowe, aby wstrzymać wątek
- 3. JOptionPane TAK/NIE Opcje Potwierdź okno dialogowe Wydanie
- 4. Jak mogę odrzucić okno dialogowe postępu po załadowaniu przeglądarki internetowej?
- 5. Okno dialogowe jquery - div znika po inicjalizacji
- 6. Okno nie zostanie przywrócone po jego zamknięciu.
- 7. Odświeżające okno rodzica po zamknięciu wyskakującego okienka
- 8. Jak otrzymać powiadomienie po zamknięciu okna w rozszerzeniu przeglądarki Firefox?
- 9. Jak odtworzyć okno dialogowe jquery po zniszczeniu
- 10. Jquery niszczy okno dialogowe po x sekundach
- 11. Otwórz okno dialogowe po kliknięciu przycisku
- 12. Okno dialogowe potwierdzenia javascript przed zamknięciem okna przeglądarki
- 13. Okno dialogowe WPF pokazujące przed głównym oknem
- 14. Pobierz okno dialogowe pliku
- 15. Okno dialogowe jQuery zawsze wyśrodkowane
- 16. Okno dialogowe debugowania XCode
- 17. Potwierdź okienko po kliknięciu hiperłącza
- 18. Typ/okno dialogowe WPF?
- 19. Android: Okno dialogowe/okno dialogowe operacji niespodziewanie znika
- 20. Czasowe okno dialogowe niemodalne
- 21. Okno dialogowe jQuery UI: jak zamknąć okno dialogowe po kliknięciu na zewnątrz?
- 22. Zamknij okno przeglądarki po otwarciu Custom Protocol
- 23. Okno dialogowe potwierdzenia GWT
- 24. Animować niestandardowe okno dialogowe
- 25. Okno dialogowe otwierania pliku
- 26. Okno dialogowe alertu WP7
- 27. okno dialogowe blendera wejściowego
- 28. Okno dialogowe Primefaces + commandButton
- 29. Wyszukaj okno dialogowe folderu
- 30. Android niestandardowe okno dialogowe
I można wrócić 'undefined' z zwrotnego, powinny chcesz pominąć okno dialogowe potwierdzenia, na przykład po sprawdzeniu, że użytkownik nie zaczął pisać ani edytować czegoś. Jednak jeśli zwrócisz 'null' lub' false', IE wyświetli komunikat z grubsza mówiąc, czy chcesz * null * lub * false *, co dziwne. – KajMagnus
Czy mogę wykonać dowolny kod po kliknięciu przycisku pobytu na stronie? –