Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej OK, rozumiem

Blokowanie przycisków w przeglądarce!

Zaczynasz dopiero swoją przygodę z HTML'em? A może mimo swojego doświadczenia natknąłeś się na jakiś problem? Tutaj na pewno znajdziesz pomoc.

Blokowanie przycisków w przeglądarce!

Post 25.12.2010, 03:00:07

Czy istnieją jakieś skrypty na plokowanie klawiszy ? konkretnie backspace , lub blokowanie history.back ?
Jest jakiś skrypt , aby nie można było powiększyć strony [ nie aktywne ikonka powiększania ] ?
Gdzie moge znaleść jakiś fajny kurs JS - ?
Ostatnio edytowano 05.01.2011, 04:40:59 przez TylerAmanda, łącznie edytowano 1 raz
TylerAmanda
Posty: 20
Dołączył(a): 11.12.2010

Re: Blokowanie przycisków w przeglądarce!

Post 25.12.2010, 12:16:56

Większości z wymienionych rzeczy nie da się zablokować. Jeśli te blokady stanowią coś, bez czego Twoja strona nie działa poprawnie, znaczy się, że źle się zabrałeś za swoją stronę. JavaScript nie może blokować funkcji przeglądarki. JavaScript działa w ramach strony internetowej, a nie całej przeglądarki.

Poza tym, zmuszanie użytkownika do oglądania strony w określonych rozmiarach jest wstrętnym narzucaniem swoich preferencji. Każdy internauta używa przeglądarki na swój sposób. Poza tym, dzisiaj każda przeglądarka otwiera strony w kartach, dlatego pojęcie samego okna jest abstrakcyjne. Głupotą byłoby, gdyby strona mogła wpływać na funkcjonowanie całego okna przeglądarki, skoro istnieje X innych stron, które mogą być równocześnie otwarte w przeglądarce.

Jeśli chcesz, żeby użytkownik oglądał Twoją stronę tylko w okreslonej wielkości okna przeglądarki, musisz stworzyć skryptowo nowe okno i nadać mu sztywne rozmiary

Kod: Zaznacz cały
window.open('plik.html', 'okno', 'width=300,height=300,resizable=no');

Problem z powyższym kodem polega na tym, że:
1. takie okno otworzysz tylko poprzez interakcję z użytkownikiem, tj. użytkownik w coś musi kliknąć, żebyś mógł wywołać ten kod, bo inaczej wywołanie zostanie potraktowane jako chęć otwarcia okna pop-up i blokady popupów zablokują to okno.
2. przeglądarki mogą blokować niektóre parametry (np. resizable), więc będzie można zmieniać rozmiar okna i je maksymalizować

Jesli chcesz blokować history.back, to znaczy się, masz jakiś problem z sesjami, tzn. gdy użytkownik się wyloguje i wciśnie przycisk wstecz, jest dalej zalogowany. Zgadłem? Jeśli tak, to koniecznie popraw swoją aplikację a przeglądarkę zostaw w spokoju.

Można blokować większość klawiszy, ale tylko w ramach otwartej strony. Dla niektórych klawiszy nie da się zablokować domyślnej akcji przeglądarki (zgaduję, że z backspace chciałeś zablokowac możliwość przejścia do poprzedniej strony). Zauważ, że przeglądarka może mieć 1500 innych sposobów na przejście wstecz, wszystkich na pewno nie zablokujesz.

Fajny kurs JS znajdziesz na Mozilla Developer Center. Ale w fajnych kursach na pewno nie uczą takich złych praktyk, jakie Ty chcesz stosować.

Zauważ, że żadna z popularnych stron nie korzysta z tego o co pytasz. Ani Facebook, ani Twitter ani żadna inna. Więc jeśli musisz coś takiego robić, to zastanów się, czy może to z Twoją aplikacją/stroną jest coś nie tak.
Avatar użytkownikakuku
Rafał Kukawski

+∞
+∞

Posty: 19642
Dołączył(a): 14.04.2002


Powrót do Początkujący webmaster


 


  • Podobne wątki
    Odpowiedzi
    Wyświetlone
    Ostatni post

Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot], Yahoo [Bot] i 10 gości

Hosting, Domeny, SSL

Subskrypcja

Mamy 50694 zarejestrowanych użytkowników.
Najnowszy użytkownik: reyes1


Nasi użytkownicy napisali:

  • 936087 wiadomości
  • w 246725 tematach

Najnowsze wpisy na blogu

Najnowsze artykuły

Najaktywniejsi (ostatnie 30 dni)