![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 30.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam dwa pytanie odnośnie metody jQuery onbeforeunload Czy jest możliwość wykonania jakiegoś działania przy tej metodzie bez pojawienia się wiadomości (domyślnego prompta) ? Czy jest możliwość wykrycia, w który przycisk kliknął użytkownik podczas pojawienia się prompta (czy opuszcza stronę lub czy zostaje na stronie) ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Cytat Mam dwa pytanie odnośnie metody jQuery onbeforeunload Zacznijmy od tego, że to nie metoda i nie od jQuery (IMG:style_emoticons/default/wink.gif) beforeunload to zdarzenie zachodzące przed zamknięciem strony, natomiast onbeforeunload brzmi jak sposób podpięcie handlera do niego. Pewnie w jQuery jest do tego plugin – jak to ze wszystkim. Cytat Czy jest możliwość wykonania jakiegoś działania przy tej metodzie bez pojawienia się wiadomości (domyślnego prompta) ? Problem polega na tym, że działanie tego zdarzenia jest skrajnie niespójne w różnych przeglądarkach i np w lisku AFAIR nie działa to, co jako jedyne działa w Chrome (i vice versa). Cytat Czy jest możliwość wykrycia, w który przycisk kliknął użytkownik podczas pojawienia się prompta (czy opuszcza stronę lub czy zostaje na stronie) ? Prosty deal: jeśli strona dalej jest widoczna, to znaczy, że został. Jeśli nie… no wiadomo (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Wystarczy sprawdzić czy link kieruje do domeny tej samej czy nie i tyle.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 30.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
nie bardzo rozumiem
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Prawdzasz href linku. Jeśli domena z href jest == domena serwisu lub nie ma domeny to znaczy że przechodzi między stronami, jeśli link ma inną domenę niż obecna serwisu znaczy że ucieka.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
@Pyton_000 tu chyba chodzi o to, w jaki przycisk w okienku confirm pacnął user – w "Leave page" czy "Stay on page".
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
wyciszyć domyślne i dać swoje i po problemie (IMG:style_emoticons/default/wink.gif)
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
@com problem polega na tym, że nie działa (IMG:style_emoticons/default/wink.gif)
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
co nie działa?
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Blokowanie domyślnego zdarzenia… Zawsze był problem z tym w wypadku beforeunload i nic się w tym zakresie nie zmieniło. W Chrome de facto działa jedynie taka bezsensowna konstrukcja:
Kod window.addEventListener( 'beforeunload', function( e ) { e.returnValue = 'Pytanie'; } ); co sprowadza się do wyświetlania okienka confirm. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
nwm u mnie
Działa i confirm nie mam (IMG:style_emoticons/default/smile.gif) Ten post edytował com 28.01.2016, 20:15:39 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Ok, ale nie wszystkie działania da się tak zrobić, niestety, np.
Cytat Blocked alert('a') during beforeunload. Dlatego nigdy nie ma pewności, że to, co chcemy, się wykona. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
no owszem zgadzam się (IMG:style_emoticons/default/smile.gif) ja sobie tam zapisuje token do localstorage i działa (IMG:style_emoticons/default/biggrin.gif)
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 30.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Chciałem przy onbeforeunload za pomocą funkcji $.ajax wykonać jakieś działanie tylko jeśli użytkownik faktycznie wyjdzie ze strony czyli kliknie opuść stronę i nie mogę tego wykonać.
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
no bo tak to sie raczej nie da, nie do tego to służy.
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 30.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
a znasz jakiś sposób by wykonać tą akcję jeśli użytkownik opuści stronę przez jej skasowanie lub reload
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
A Ty nie chcesz przypadkiem tego zrobić przy zdarzeniu unload?
Do tego stworzono wręcz osobne API (IMG:style_emoticons/default/biggrin.gif) https://developer.mozilla.org/en-US/docs/We...ator/sendBeacon |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 30.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
słabo ze wsparciem tej funkcjonalności w przeglądarkach
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Beacona tak, ale unload jest wspierany praktycznie wszędzie.
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 30.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
nie wiem czemu u mnie nie działa onload
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 20:12 |