Chcę wiedzieć, czy jest w jakikolwiek sposób możemy znać wydarzenia przeglądarki.

2
Suresh 10 listopad 2011, 13:52

3 odpowiedzi

Najlepsza odpowiedź

Te specyficzne zdarzenia przeglądarki nie są dostępne, ponieważ byłoby narażone na poważne naruszenia prywatności. Prywatność jest czymś, co dostawcy przeglądarki utrzymuje święty i kluczowy punkt sprzedaży (przysłowiowy). Wszystkie przeglądarki pozwalają wiedzieć, gdy użytkownik wprowadza lub opuszcza swoją stronę, dla której Kamui wskazał szczegóły techniczne.

W tej samej witrynie można osiągnąć śledzenie zdarzeń przeglądarki za pomocą plików cookie i JavaScript. Na przykład utwór Użytkownicy kliknij na hiperłącze i oznacz go jako zdarzenie forward i gdy użytkownik opuszcza stronę bez klikania hiperłącza, który może być jeden z:

  • Wprowadzanie adresów URL przeglądarki
  • akcja powrotna
  • Lokalizacja JavaScript.HREF Wymień.

Lokalizacja

To pozostawia browser url input i back action. Z ciasteczkami i nagłówkami żądaniami (uzyskiwanie rejsu) możliwe jest zbliżenie się do znalezienia zdarzeń {X2}} i back, choć nie 100%, ale pragmale, 99% pewności jest wystarczająco dobry.

Dotyczące zdarzenie refresh jest łatwe z nagłówkami żądania (referencje), jeśli bieżący adres URL pasuje do referencji, to zdarzenie {x1}}.

Teraz nie oferuję żadnego kodu ani określonego rozwiązania, ale przedstawiłem to, co możesz zrobić, aby śledzić back, forward i refresh i refresh i refresh w jednym kontekście domeny. Nie będzie szybkim i łatwym sposobem na wdrożenie go i o ile wiem, nie ma żadnych ramy, które niezawodnie śledzi imprezy przeglądarki, a nawet zbliża się do tego, co opisałem powyżej.

Bardziej wspólna / leniwa technika, aby uzyskać coś podobnego, jest utworzenie aplikacji single page, dla której dostępnych jest wiele dostępnych ram. Po prostu Google single page app framework, ale to dość ciężkie rozwiązanie z innymi konsekwencjami, w których teraz nie będę.

5
BGerrissen 10 listopad 2011, 12:51

Nie możesz przechwytywać (na przykład uruchomić część kodu, gdy użytkownik naciska przycisk Wróć) je, jednak można skierować swoje strony w historii, używając: używając: używając:

Więcej o obiekcie JS History.

1
Sarfraz 10 listopad 2011, 09:55

Ponieważ @sarfraz mówi, że nie można przechwytywać przycisków tylnych i do przodu, ale możesz zadzwonić

 window.onbeforeunload = function(){alert("you just tried to leave the page");};

Które powinny być wyzwalane, gdy przyciski z powrotem / do przodu / odświeżania są kliknięte, aby wykonać akcję, niestety nie możesz powiedzieć, czy wracają lub do przodu. Należy pamiętać, że nie czujny wiadomości, jest naprawdę denerwujące podczas próby wyjścia z strony.

edytuj Możesz również to zrobić w jQuery, jeśli go masz

 $(window).unload( function () { alert("Bye now!"); } );
1
kamui 10 listopad 2011, 10:02