Grupa MagazynyInternetowe
Online: 1001
Opieranie się na JavaScripcie może okazać się błędem. Wbrew pozorom nie wszyscy odwiedzający z niego korzystają. Zadziwiające, jak często twórcy stron zapominają o tym.
Marcin Kosedowski
Wszyscy korzystają z JavaScriptu? Wcale nie. Oprócz niewidomych używających czytników i internautów świadomie blokujących reklamy nie używają go osoby korzystające z niektórych przeglądarek mobilnych oraz takie, którym nie pozwala na to polityka bezpieczeństwa firmy. Łącznie kilka procent osób.
Używając JS-u do wygenerowania treści strony blokujesz dostęp jednemu z czternastu odwiedzających. Może wydawać się to małą liczbą, ale również boty wyszukiwarek mają problemy z odczytaniem treści wygenerowanych za pomocą skryptów. Google indeksuje takie dane, ale tylko jeśli wygenerowane są w prosty sposób. Egzotyczne skrypty zostaną zignorowane, a strona nie wypozycjonuje się tak jak powinna, przez co odpływ odwiedzających będzie większy niż te 7%.
Procent użytkowników z wyłączonym JavaScriptem w ostatnich latach.
Jeśli strona zawiera znaki narodowe, co w przypadku polskich witryn zwykle ma miejsce, należy dodać do nich również korzystających z przeglądarki Chrome. Zmiana kodowania za pomocą document.write() (np. przy generowaniu ramek poprzez JS) spowoduje w tej przeglądarce wyświetlenie "krzaków".
Jeśli chcesz wstawić na stronę dynamicznie generowane elementy, np. ze zmienną treścią pamiętaj, aby wykorzystać JavaScript jedynie do ukrycia elementów. Pokazywane powinny być przy pomocy samego HTML-a lub CSS-a. Powód jest prosty: jeśli użytkownik ma wyłączoną obsługę skryptów nie zobaczyłby odsłanianej treści.
Jednym z najczęściej popełnianych błędów jest użycie JavaScriptu do nawigacji tam, gdzie nie jest to konieczne. Jeśli to możliwe linki powinny być wykonane za pomocą standardowego <a href="adres">, a nie poprzez <a href="javascript:goTo('adres')">. Nie chodzi tu tylko o dostępność, ale również działanie skryptu po typowym zachowaniu jakim jest kliknięcie środkowym przyciskiem. W drugim przypadku zwykle otworzy się pusta karta, a użytkownik nie odwiedzi docelowej strony.
CODA, jeden z najpopularniejszych skryptów do dynamicznej zmiany zawartości strony, działa poprawnie nawet bez JS-a (http://www.panic.com/coda/).
Nadmiernie wykorzystując JavaScript możesz zaszkodzić również sobie. Sprawdzanie poprawności formularzy po stronie użytkownika jest bardzo wygodne dla obu stron, ale nie może być jedynym sposobem weryfikacji wprowadzonych danych. Nieczuciowy internauta w przypadku błędu mógłby ustawić zmienną odpowietrzającą za walidację w swojej przeglądarce i wysłać niepoprawny formularz.
JavaScript jest użyteczny i wygodny, ale po warunkiem przemyślanego wykorzystania go. Najważniejsze żeby strona działała poprawnie bez niego, a włączony JS powinien jedynie ułatwiać lub przyspieszać dostęp do danych.
Na koniec jeszcze jedna rada. Nigdy, ale to nigdy, nie używaj JavaScriptu jeśli postanowisz wykorzystać go do wstawienia na stronę dinozaura biegającego za kursorem i innych tego typu "upiększaczy". Ta era minęła 10 lat temu.
Powiązane publikacje
Komentarzy: 4
Zawsze przy tego typu dyskusjach pozostaje do rozwiązania kwestia: na ile projektant strony ma się dostosowywać do konserwatyzmu niektórych odbiorców, a na ile to potencjalny odbiorca powinien zaakceptować ogólnie przyjęte standardy. Irytuje mnie takie jednostronne podejście do problemu, może wynika to ze zmęczenia pisaniem kodu strony, która ma wyglądać i działać zgodnie z najnowszymi trendami ale z uwierającą świadomością, że gdzieś tam jakiś Jaś Kowalski przywiązał się do swojego IE5 (albo jest zbyt leniwy, by dokonać upgrade'u) i trzeba ten kod naszpikować bezsensownymi hackami - to analogiczny problem. Jakoś nikt dziś nie wymaga od programistów, by pisali aplikacje działające identycznie pod iCore7 i 368SX. Jeżeli ktoś wyłącza JS, to musi mieć świadomość, że ogranicza znacznie funkcjonalność browsera - coś za coś. Jeżeli użytkownik wyłączy wyświetlanie grafiki, to niech nie oczekuje, że mu w altach będę tworzył sienkiewiczowskie opisy tego, co było na zdjęciach. Ta treść stanie się dla niego niedostępna z jego własnego wyboru. Co do 'odkrywania' treści zawartych na obszarach generowanych skryptowo, to w wielu przypadkach oznacza to de facto pisanie alternatywnego layoutu. Ja to oczywiście mogę zrobić, pytanie, czy zleceniodawca zechce za to dodatkowo zapłacić? Dla siedmiu procent potencjalnych odsłon - z pewnością nie. (Tak na marginesie: dziwi mnie ta liczba, bo z własnych statystyk - a trochę ich mam - liczba przeglądarek bez aktywnego JS oscyluje w granicach 0,7 procent, więc rozbieżność jest ogromna.)
Nigdy nie korzystalem z CODA ale czy to nie jest tylko pod MAC OS X?
Na ich stronie jest napisane
Req: Mac OS X 10.4+
Dziwne ta strona 'coda' pod ie8 bez js nie działa. Usuńcie tą publikacje bo tylko się ośmiesza.
Jak zwykle calkiem dobry art ale jak zwykle czegos brakuje. Skad jest wykres osob z wyl js? Na ranking.pl nie moglem znalezc. Uzywanie ajax'a czyli js+dom w linkach jest jak dla mnie poprawne, jezeli tylko sie wie jak go uzyc, na blogu pornel'a szukajcie. Pokazuje jak skonstrulowac linki zeby dzialaly zarowno z js jak i bez. Streszczajac nigdy nierobcie calej strony w js a juz na pewno nie kluczowych funkcji ewentualnie jakies dodatki. Obecnie pisze sklep intesnetowy, sama strona nie ma js a panel jest caly w ajax'ie. Dla tego ze mam tam skrypty ktore sprawialy ze strona wczytywala sie dlugo, po zastosowaniu ajax'a lata jak strzala. Bez wl js prawie nic sie tam nieda zrobic ale stac mnie na to bo panel jest tylko dla paru osob w firmie. Pozdrawiam
Marcin Kosedowski - programista i mimo wykształcenia typowo technicznego autor artykułów o tematyce dotyczącej Internetu i bezpieczeństwa w sieci. Hobbystycznie prowadzi bloga, na którym porusza sprawy związane z programowaniem i Internetem.
Adres bloga like-a-geek.jogger.pl
Artykuły tego autora:
Od lat żadna technologia nie zagroziła JavaScriptowi, językowi uznawanemu za zabawkę dla dzieci. Czy uda się mu zachować popularność i zapewnić źródło utrzymania kolejnym programistom?
Polecamy:
Na skróty:
Magazyny Internetowe| Co za ile| Programy| Praca| Magazyn Internet| Internet Maker| Web Toster| ForumNasze serwisy: