Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Blokada otworzenia strony w drugiej karcie przeglądarki
Mlodycompany
post 19.02.2013, 11:15:11
Post #1





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Witam. Chciałbym zablokować możliwość otworzenia strony w dwóch kartach przeglądarki naraz, czyli tak aby była możliwa tylko jedna. Zapytałem wujka i znalazłem coś takiego http://devpytania.pl/questions/6285/skrypt...w-jednej-karcie i zrobiłem tak jak jest podane, lecz jest mały problem. Odświeżenie strony jest traktowane na otworzenie jej w nowej karcie. Może macie pomysł jak naprawić problem z odświeżaniem lub jakiś inny sposób aby zablokować otworzenie strony w dwóch kartach?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
!*!
post 19.02.2013, 11:23:24
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Nie ma czegoś takiego jak "strona w jednej zakładce". To jest taki sam mit jak blokowanie PPM.
Odświeżanie możesz rozwiązać np. sprawdzenie czy istnieje historia strony, choć nie jestem pewien czy

1. zadziała to na każdej przeglądarce
2. czy strona w zakładce, zawsze jest już zaszyta w historii czy dopiero po przejściu w inny link.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
viking
post 19.02.2013, 11:28:33
Post #3





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Możesz też wykorzystać localstorage który dzieli dane pomiędzy zakładkami.


--------------------
Go to the top of the page
+Quote Post
Mlodycompany
post 19.02.2013, 11:32:19
Post #4





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Cytat(viking @ 19.02.2013, 11:28:33 ) *
Możesz też wykorzystać localstorage który dzieli dane pomiędzy zakładkami.


jak z localstorage sprawdzę czy jest otwarta inna karta?


---

Myślałem też aby zaprzęgnąć w to WebSocket i po stronie serwera sprawdzać ile jest połączeń z jednej przeglądarki i w ten sposób blokować, ale niestety nie mogę poradzić sobie z serwerem WS

Ten post edytował Mlodycompany 19.02.2013, 11:34:27
Go to the top of the page
+Quote Post
sowiq
post 19.02.2013, 11:38:12
Post #5





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


@viking, za pomocą localStorage raczej nie sprawdzisz ilości otwartych kart.

@Mlodycompany, zainteresuj się Shared Web Workers. Rozwiązanie to pozwala na przesyłanie komunikatów pomiędzy kartami z tej samej domeny. Każda nowa karta na początku rozsyła wiadomość "nowa karta" i w przypadku uzyskania odpowiedzi od istniejącej "ale stara już istnieje...", zamykasz ją. Jeśli odpowiedzi nie ma, nowa karta "wie", że jest jedyną i zaczyna nasłuchiwać komunikatu "nowa karta", na który odpowie "ale stara już istnieje...". I to chyba tyle.

[edit]
Jest nawet jakiś plugin jQuery: http://www.sfpeter.com/2008/03/communicati...-my-new-plugin/ Nieważne smile.gif

Ten post edytował sowiq 19.02.2013, 11:40:31
Go to the top of the page
+Quote Post
!*!
post 19.02.2013, 11:44:35
Post #6





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Jest jeszcze sessionStorage i to chyba spełni zadanie.

Ten post edytował !*! 19.02.2013, 11:45:03


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Mlodycompany
post 19.02.2013, 12:08:14
Post #7





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


No myślę, że Shared Web Workers rozwiąże ten problem, lecz spotkałem się z dużym problemem, Firefox tego nie dziabie, sypie błędem. Dziwne, bo niby od v16 powinno być wspierane, a jednak... W operze nawet błędu nie zwraca;p Co do sessionStorage to też niezbyt przekonany jestem, ale zaraz wytestuję i się pomyśli

--

Shared Web Workers na chwilę obecną odpada. Sprawdzałem w 6 przeglądarkach i tylko w 1 działało poprawnie, Niestety nie jest to ani Opera, ani Firefox, ani Chrome, lecz nijaka Arora. Tylko w niej uzyskałem zamierzany efekt...

Ten post edytował Mlodycompany 19.02.2013, 13:26:17
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 18:19