Wiele stron ma alerty, gdy je opuszczasz: jeśli zamykasz karty, nawigujesz bez zapisywania itp., Istnieje wiele powodów, dla których witryna ostrzega / blokuje odejście do czasu potwierdzenia, np. „Czy na pewno chcesz nawigować poza tą stroną? ”.
Zazwyczaj odbywa się to za pomocą onbeforeunloadi / lub onunloadprogramów obsługi.
Oto przykład.
Czy jest jakiś sposób, aby zapobiec alertom / zdarzeniom blokującym użytkownika generowanym przez te programy obsługi? Zasadniczo chciałbym pozostawić włączoną JS, a konkretnie zabronić rzeczy, które uniemożliwiłyby mi opuszczenie strony bez dodatkowego kliknięcia.
onbeforeunloadi przewodnicy onunloadpowinni nadal strzelać; po prostu nie powinny mieć możliwości robienia rzeczy, które blokują użytkownika. Oznacza to brak alertów i operacji trwających dłużej niż kilka sekund.
Znalazłem kilka wtyczek, które edytują / greasemonkey łatają javascript dla poszczególnych stron, i grałem trochę z ich kodem, aby spróbować je uniwersalnie zastosować. Mam jednak nadzieję znaleźć rozwiązanie, które działa na każdej stronie, która próbuje zablokować wyjście użytkownika.
onbeforeunload) będzie działać tylko dla stron, które używają onbeforeunload, a nie dla stron, które używają jednej z innych metod dołączania zdarzeń.