Chcę napisać stronę internetową do quizu online. Podstawowym wymaganiem jest to, że osoba podejmująca quiz zmienia zakładkę lub otwiera nowe okno, nawet bez minimalizowania przeglądarki, czyli jeśli dana osoba próbuje zobacz odpowiedź z innego okna/karty, quiz powinien się zatrzymać. Jak mogę to zrobić?
P.S: nie powinna to być jakaś nowa funkcja HTML5. Chcę, aby była obecnie obsługiwana przez wszystkie najważniejsze przeglądarki.Javascript, aby wykryć, czy użytkownik zmienia zakładkę
Odpowiedz
Można określić, czy jest aktywny przez dołączenie zdarzeń słuchacza rozmycie/ostrości oknie zakładka lub okno.
w jQuery byłoby
$(window).focus(function() {
//do something
});
$(window).blur(function() {
//do something
});
cytat z tego SO odpowiedzieć: https://stackoverflow.com/a/1760268/680578
Zostałaby również zwolniona z powodu utraty ostrości w oknie, ale okno było nadal widoczne. – Matt
Czy będzie w stanie wykryć, czy użytkownik uruchamia nowe okno/przeglądarkę bez konieczności minimalizowania okna quizu? – Maxsteel
Jeśli pojawi się nowe wyskakujące okienko, utracisz fokus w bieżącym oknie, prawda? – Kristian
Jeśli kierujesz reklamy na przeglądarki, które go obsługują, możesz użyć interfejsu API Widoczność strony dostępnego w HTML5. Nie wykrywa ona bezpośrednio zmian tabulacji, ale zmienia widoczność. Obejmuje to (ale nie tylko) zmiany tabulatorów.
Zobacz https://developer.mozilla.org/en/DOM/Using_the_Page_Visibility_API
To jest poręczne API, ale należy zauważyć, że w tej chwili (6 marca 2015 r.) Istnieją pewne ograniczenia: 'Alt' +' Tab' (np. Włączanie aplikacji jakiegokolwiek rodzaju) nie rejestruje się w systemie Windows dla przeglądarki Firefox/Chrome/IE10. Jednak przełączanie kart w każdej przeglądarce działa dobrze. W systemie iOS przełączanie aplikacji lub blokowanie urządzeń ** ** powoduje zmianę widoczności. – scunliffe
Najlepsze rodzime ręce funkcyjne w dół, bez jQuery.
document.hasFocus
Sprawdź pióro, sprawdzić, co się dzieje, gdy idziesz do łącza i z powrotem do zakładki codepen.
Wydaje się pracować dla mnie w Opera, FireFox, Safari i Chrome. Nie testowałem w innych. – Umair
- 1. Jak wykryć, czy użytkownik jest "bezczynny" z javascript?
- 2. Jak można wykryć, czy użytkownik ma klawiaturę przez JavaScript?
- 3. kątowa 2 Jak „oglądać” na zakładkę zmienia
- 4. Użyj PHP, aby wykryć, który użytkownik htaccess jest zalogowany?
- 5. Serwlety Java - Jak wykryć, czy użytkownik jest z urządzenia mobilnego?
- 6. Jak wykryć, czy użytkownik wybrać Anuluj InputBox VBA Excel
- 7. Jak wykryć, czy użytkownik opuszcza stronę w PHP
- 8. Jak aktywować zakładkę z konsoli Javascript poniżej?
- 9. Jak wykryć, czy moja aplikacja jest piaskownica?
- 10. Jak wykryć, kiedy zmienna zmienia wartość
- 11. cel c - Wykryj, kiedy użytkownik zmienia ustawienia powiadomień aplikacji
- 12. wxPython: Czy wyłączyć zakładkę notatnika?
- 13. Jak wykryć, czy użytkownik jest daleko od klawiatury?
- 14. Jak wykryć, czy użytkownik został wybrany z opcji createChooser?
- 15. Jak wykryć, czy użytkownik dwukrotnie kliknął w pygame?
- 16. Usuń zakładkę ('\ t') z ciągu znaków javascript
- 17. Jak wykryć, kiedy użytkownik aktywnie przewija?
- 18. Wykryj, czy użytkownik ma możliwości drukowania?
- 19. UISeachBar wykryć, kiedy użytkownik naciśnij przycisk
- 20. Jak możemy wykryć, kiedy użytkownik zamyka przeglądarkę?
- 21. Czy JavaScript może wykryć, czy przeglądarka użytkownika obsługuje gzip?
- 22. Interpretuj jako zakładkę WPF
- 23. Jak wykryć, czy użytkownik dotarł do strony za pomocą przycisku Wstecz?
- 24. Czy istnieje sposób, aby wykryć wyszukiwanie na stronie wyszukiwania w javascript
- 25. Jak wykryć, czy JavaScript jest włączone synchronicznie lub asynchronicznie
- 26. Jak wykryć, czy obiekt został śmieci zebrane w JavaScript?
- 27. Czy mogę obserwować, kiedy UIViewController zmienia interfejsOrientacja?
- 28. Dodaj zakładkę, która jest tylko javascript, a nie URL
- 29. przy użyciu stat, aby wykryć, czy plik istnieje (wolno?)
- 30. PHP :: Najlepszy sposób, aby wykryć, czy początek sesji
No na pewno zmienić w karcie mogą być wykryte za pomocą Javascript ile mi know.What chciałem wiedzieć, czy można wykryć zmiany w ostrości okna jak otwierając nową przeglądarkę! – Maxsteel
Nie wykryjesz, czy dzieje się to w innym oknie przeglądarki. –