Mam bardzo ważne pytanie, czy jest możliwe aby po kliknieciu w x i probie zamkniecia zakładki wyświetlało się okienko confirm. Zaznaczam, że już probowałem window.onbeforeunload jednakże to też działa przy próbie cofniecia się do poprzedniej strony, a ja cche tylko przy probie zamknięcia. Z góry wielkie dzieki.
oprocz wstecz to rzeczy ktore odpala ten event to:
- odswiezenie przegladarki (klikniecie w ikonke jak i nacisniecie f5
- wstecz (nacisniecie w ikonke i przycisniecie backspace)
- nacisniecie w jakikolwiek link
- wyslanie formularza
- nacisniecie x w rogu lub alt + f4 lub ctrl + f4
- wpisanie url i wejsie w inny adres
- wyszukiwarka google wbudowana w przegladarke
to wszystko odapli event onbeforeunload (notabene mial on kiedys klopoty ze wspieraniem webkita czyli chrome i opera, nie wiem jak teraz). wiec nie wiem ktory z tych eventow chcesz blokowac a ktory przepuscic, ale idea bylaby taka ze lapiesz onbeforeunload i potem sprawdzasz te warunki ktore chcesz przepuscic. na cack to chyba jedynie sprawdzanie history za pomoca np. jquery.history. a reszte to wynajdziesz gdzies tam
ogolnie tutaj facet cos zaczal:
http://stackoverflow.com/questions/16540972/javascript-on-window-close-event
chodzi o to aby tylko i wylacznie dzialalo po kliknieciu w x na zakladce, w zadnym innym wypadku nie probowałem roznych kombinacji i nic;/
Rozwiazanie to jest.
$(function() {
function confirmmsg() {
return "";
}
window.onbeforeunload = confirmmsg;
});
function disable(){
window.onbeforeunload=null;
}
Ten kod to jakiś wtf
.
onbeforeunload
jest bardzo "niezafanym" zdarzeniem, nie możesz na nim polegać.
Wykrycie tylko i wyłącznie zamknięcia karty także nie jest możliwe. Nie do tego służy ten event i nie ma opcji, żebyś go użył niezgodnie z przeznaczeniem.