• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

jQuery - ilość otwartych kart

Object Storage Arubacloud
+1 głos
278 wizyt
pytanie zadane 15 kwietnia 2017 w JavaScript przez Captivity Obywatel (1,030 p.)
Cześć,
Chcę sobie stworzyć rozszerzenie do chrome, które stworzy mi alert, gdy będę chciał zamknąć przeglądarkę z otwartymi dwoma kartami.

Rozszerzenie wiem jak stworzyć, ale nie potrafię znaleźć tego, jak w jQuery (a może JS zwykłym) stworzyć ifa, który sprawdzi ile jest otwartych kart. Oczywiście w jQuery okno przeglądarki to "window", a jak nazywa się w jQuery karta przeglądarki?

1 odpowiedź

+3 głosów
odpowiedź 15 kwietnia 2017 przez ScriptyChris Mędrzec (190,190 p.)
wybrane 18 kwietnia 2017 przez Captivity
 
Najlepsza

Oczywiście w jQuery okno przeglądarki to "window"

Nie. Obiekt window nie reprezentuje okna przeglądarki, ale globalny obiekt dla danej strony - chociaż gdy na stronie umieszczone są elementy <iframe> to każdy z nich posiada własny obiekt window. Ani z poziomu obiektu window ani z poziomu DOM API (a JavaScript ma dostęp do elementów HTML strony za pośrednictwem właśnie tego API) nie masz dostępu do interfejsu przeglądarki; czyli jej okien (patrząc z poziomu programu jakim jest przeglądarka internetowa), kart, ustawień itd.. Dopiero z poziomu wtyczek, czyli wykorzystując np. Chrome API, Firefox API możesz działać na przeglądarce.


https://developer.chrome.com/extensions/tabs#method-query

Metoda chrome.tabs.query zwróci Ci listę wszystkich tabsów. Wrzuć tam if, który sprawdzi, czy jest ich więcej niż 2 (czy ile chcesz).

Z tym, że z tego co pamiętam, to nie da się wykonać metody alert z poziomu wtyczki. Możesz to zrobić z poziomu skryptu wstrzykniętego do strony internetowej (tzw. content script), ale on z kolei nie ma dostępu do powyższej metody Chrome API z powodu bezpieczeństwa. Możesz natomiast np. w background script sprawdzać ilość otwartych kart i, jeśli nastąpi próba zamknięcia przeglądarki przy określonej ilości otwartych kart, wtedy wysłać event do aktualnie otwartej karty, aby tam odpalić alert. Albo skorzystać z Chrome Notifications: https://developer.chrome.com/apps/notifications

Podobne pytania

0 głosów
1 odpowiedź 262 wizyt
0 głosów
0 odpowiedzi 69 wizyt
0 głosów
1 odpowiedź 487 wizyt
pytanie zadane 28 czerwca 2018 w JavaScript przez precell Początkujący (470 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...