Czy programiści powinni nadal starać się stopniowo ulepszać nasze aplikacje internetowe za pomocą JavaScript, zapewniając, że funkcje z wdziękiem się pogarszają, a tym samym dostępność? A może powinniśmy spędzać ten czas skupiając się na nowych funkcjach lub innych obszarach rozwoju?
Podtekst tego pytania brzmiałby: ilu naszych klientów / klientów / użytkowników korzysta z naszych stron internetowych lub aplikacji z wyłączoną obsługą JavaScript? Czy masz jakieś projekty z wymaganiami, które konkretnie wymagają funkcjonalności JavaScript (prawie wszystkie moje), i czy te wymagania wymagają również pełnej wdzięku degradacji?
Aby zadać to pytanie, podłączyłem programmers.stackexchange.com bez włączonej obsługi JavaScript i przywitałem się z komunikatem: „Programiści - Stack Exchange działa najlepiej z włączoną obsługą JavaScript”. Trudno się zalogować, choć strona wydawała się ogólnie działać dobrze. (Nie mogłem głosować na żadne pytania).
Myślę, że jest to zadowalające podejście do rozwoju. Wyobraź sobie wysiłek włożony w sprawienie, aby wszystkie funkcje strony działały przy użyciu zwykłego starego kodu HTML i logiki po stronie serwera. Z drugiej strony zastanawiam się, ilu użytkowników zostało wyalienowanych przez to podejście.
Wszyscy zostaliśmy przeszkoleni (co najmniej dobrzy programiści wśród nas) w zakresie korzystania z progresywnego ulepszania i zapewnienia, że dynamiczne funkcje naszych aplikacji internetowych ulegną łagodnemu pogorszeniu. Czy to progresywne ulepszenie po prostu wkurza na wiatr, czy też niektórzy z naszych klientów faktycznie korzystają z niektórych usług internetowych bez włączonej obsługi JavaScript?
źródło
Odpowiedzi:
Używam NoScript, ale umieszczam na białej liście dowolną witrynę, z której zamierzam korzystać.
źródło
Wydaje mi się, że odsetek osób bez włączonej obsługi JavaScript jest znikomy. Ale bądź ostrożny z botami wyszukiwarek! Zwykle nie używają JavaScript, ale nie chciałbyś, aby pomijali niektóre ważne treści z tego powodu, prawda?
źródło
Zawsze przeglądam z włączoną obsługą JavaScript i mam ją od zarania przeglądarki.
Nigdy nie miałem ani jednego problemu, który byłby wart pogorszenia mojej przeglądarki. Być może kilka wyskakujących okienek lub inne irytacje, ale moim zdaniem korzyści znacznie przewyższają ryzyko.
źródło
Podczas korzystania z konsoli w systemie Linux czasami korzystam z programu Lynx, gdy GUI nie jest dostępne. Według mojej najlepszej wiedzy lynx nie ma w ogóle obsługi JavaScript.
Korzystałem również ze starszych przeglądarek mobilnych z kiepską obsługą JavaScript.
Jednak w tych okolicznościach nie spodziewam się uzyskać pełnej użyteczności ze strony. Zwykle po prostu używam Internetu, aby szybko coś wyszukać (np. Uzyskać numer telefonu). Dlatego uważam, że interfejs innej niż JavaScript strony powinien być ograniczony do biernej roli odniesienia. Stack Exchange to świetny przykład, możesz wyszukiwać odpowiedzi, ale nie możesz głosować w górę. To jest po prostu służyć jako odniesienie.
źródło
Regularnie surfuję po Internecie z przeglądarki mojego smartfona, gdy nie ma mnie w domu ani w biurze. Chociaż obsługuje JavaScript (przynajmniej jego część), nie zawsze obsługuje go dobrze. Znalazłem wiele witryn bezużytecznych, ponieważ albo zużywają wiele zasobów, albo po prostu powodują awarię przeglądarki.
Wolę wbudowaną przeglądarkę, ale trzymam dwie alternatywne przeglądarki na wypadek, gdyby jedna z nich działała lepiej.
źródło
Jedną z rzeczy, o których nie wspomniano w tym wątku, jest to, co się stanie, jeśli skrypt się zepsuje. W wielu przypadkach dalsze wykonywanie skryptu na stronie może być wyłączone, dlatego potrzebny jest powrót do bardziej uproszczonego sposobu nawigacji.
Skrypt może się zepsuć z różnych powodów, ale najbardziej oczywistymi są niekompletne żądania plików .js, różne dodatki, które mogą zmienić DOM ( AdBlock itp.) Lub wprowadzić obiekty, które nie są dobrze rozmieszczone.
Nie ma to nic wspólnego z ludźmi wyraźnie wyłączającymi skrypt lub cokolwiek innego. Na marginesie, wiele nowoczesnych routerów, oprogramowania zapory sieciowej itp. Często ma funkcję wyłączania / filtrowania skryptu, Flasha itp. Ze stron internetowych, więc może być nawet skonfigurowana na warstwie sieciowej, pozostawiając użytkownikowi nieświadomy tego (pomyśl publiczne kawiarnie, szkoły lub inne środowiska, w których inni paranoiczni skonfigurowali dostęp do Internetu).
Jest to zazwyczaj mój główny argument za tworzeniem witryn, które ulegają degradacji z wdziękiem, przynajmniej przy podstawowej funkcjonalności strony (układ i nawigacja).
źródło
Jedyną rzeczą, dla której wyłączam JavaScript jest testowanie własnej witryny. Jednak być może zainteresuje Cię badanie Yahoo, w którym stwierdzono, że 1-2% użytkowników ma wyłączoną obsługę JavaScript. Publiczność Yahoo jest prawdopodobnie całkiem dobrą reprezentacją przeciętnego użytkownika.
Kluczowy cytat z badania:
źródło
Cały czas używam NoScript wraz z AdBlock Plus .
Sieć jest dziś zbyt wroga (natrętne JavaScript + irytujące reklamy), aby wyjść bez ochrony.
źródło
Dostajesz tutaj naprawdę wypaczoną próbkę i możesz lepiej zrobić własne badania na swojej stronie.
Ja osobiście używam NoScript. Rzadko niechętnie umieszczam stronę na białej liście, ale musi to wydawać się warte mojej chwili. (Innymi słowy, potrzebuję powodu, ale nie musi to być zbyt przekonujące.)
źródło
Tak.
Moje przeglądanie dzieli się na trzy kategorie.
Normalne przeglądanie - w Safari lub Chrome (Mac OS X)
- iGoogle, Stack Overflow, niektóre blogi
Specjalne strony internetowe : - Firefox z witrynami NoScript, AdBlock Plus i FlashBlock
z niepotrzebnie silnym JavaScript. (Niektóre indyjskie strony z filmami / muzyką Bollywood, jeśli jest to ważne. Niepotrzebnie ciężki skrypt - sama strona ładuje się co około 5 minut)
Przeglądanie mobilne:
miałem telefon Nokia 5310. Zgubiłem go. Teraz mam jeszcze starszą Sony Ericsson W700i. Korzystam z niego podczas podróży (Opera Mini jest całkiem dobra). To miejsce (brak) JavaScript jest uciążliwe. Nie chcę wchodzić w interakcje z witryną (głównie), po prostu czytaj. Nadal większość witryn jest niemożliwa do wyświetlenia.
źródło
Wystarczy przeczytać Pragmatic Programmers „HTML5 i CSS3” . Autor twierdzi, że 5% użytkowników ma wyłączoną obsługę JavaScript.
Oto jego źródło: wyłączone indeksy JavaScript w UE i USA + wpływ na gromadzenie danych w usłudze Web Analytics .
Wygląda na to, że procent też spada.
źródło
Zwykle instaluję NoScript i tylko zaufane witryny z białej listy. W przeciwnym razie używam opcji „tymczasowo zezwalaj” na określone domeny, kiedy jest to konieczne.
To tylko dobre bezpieczeństwo. W przeciwnym razie zezwalasz na uruchamianie dowolnej ilości kodu na twoim komputerze! Nawet jeśli jest w piaskownicy ... zawsze są luki w zabezpieczeniach.
Poza moimi przyzwyczajeniami, nawet jeśli większość osób przegląda JavaScript, nadal warto opracowywać witryny z myślą o stopniowym ulepszaniu. Jeśli Twoja strona funkcjonuje na początku, może obsługiwać jak największą liczbę odbiorców. Oznacza to również, że oddzielasz swoje dane od projektu wizualnego i logiki biznesowej. Większość tego, co robisz z JavaScriptem po stronie klienta, i tak powinno się robić po stronie serwera - robienie tego po stronie klienta powinno być po prostu wygodą dla użytkownika strony.
Oczywiście są wyjątki, które wymagają JavaScript, ale generalnie wiąże się to z oczekiwaniami. Na przykład, oczekuje się włączenia JavaScript dla BioLab Disaster , gry, ale żadna dla stron takich jak A List Apart , głównie tylko tekst.
Kiedy wypełniam formularz, czy naprawdę powinno być oczekiwanie, że mam włączoną obsługę JavaScript w celu przesłania formularza? Dlaczego? Czy kod JavaScript może sprawdzić, aby upewnić się, że nie wprowadziłem liczby zamiast litery?
źródło
Javascript jest domyślnie wyłączony dla tych z nas na Windows Server. Nasze zasady IT blokują tak wiele witryn, jedynym sposobem na odczytanie niektórych treści jest surfowanie na serwerze, na którym JS jest domyślnie wyłączona.
Chociaż nie jest to moja preferowana konfiguracja, czasem muszę to robić.
źródło
Używam Google Chrome + AdBlock Plus i mam włączoną obsługę JavaScript.
EDYCJA: Używam teraz NotScript . :)
Chrome ALONE blokuje prawie wszystkie wyskakujące okienka (znalazłem tylko jedną stronę [Chess.com], która się przedarła), a AdBlock pozbywa się wszystkich reklam, więc nie mam z nimi problemów.IMO, JavaScript daje ci ogólnie „lepsze wrażenia” i dopóki odwiedzasz wiarygodne strony (które nie zostały zhakowane ...), nic ci nie jest. Jako „informatorzy” / programiści uważam, że powinniśmy mieć bardzo „wyczucie internetowe” i być w stanie stwierdzić, czy witryna może być złośliwa.źródło
Moim zdaniem dostępność przewyższa prawie wszystko inne. Użytkownicy korzystający z technologii asystujących powinni zawsze mieć dostęp do większości funkcji witryny, nawet jeśli może to potrwać nieco dłużej. Nie ma znaczenia, ile procent użytkowników polega na tym, że ma to znaczenie. Cieszę się, że koduję projekt internetowy typu open source, w którym dostępność jest jednym z głównych celów, i faktycznie dowiaduję się, jak mogę sprawić, że coś się stanie na dwa sposoby - z JavaScriptem i bez. (I wiele innych rzeczy związanych z dostępnością, ponieważ JavaScript lub nie jest tak naprawdę tylko małą częścią problemu).
Istnieje ciekawy kwestionariusz, który zawiera odpowiedzi od użytkowników projektu, o którym właśnie wspomniałem, na temat jakiej technologii tutaj używają . To może Cię zainteresować.
źródło
Hmm, teraz czuję się jak Omega Man . :) Najwyraźniej jestem ostatnią osobą, która faktycznie wyłącza JavaScript (i pliki cookie) . (Chyba że potrzebuję go do określonej witryny, na przykład przepełnienia stosu).
Wątpię, brakuje mi dużo - zazwyczaj kiedy ma włączyć JavaScript na stronie, robi coś zupełnie bezużyteczne, jak pozwoli mi rzygać mnóstwo informacji osobowych obcymi, albo pokazuje mi kilka ruchomych reklam - tylko to, co chciałem, jakiś losowy ruch na ekranie, podczas gdy ja staram się skoncentrować na czytaniu artykułu ...
źródło
Właśnie odpowiedziałem na pytanie na AskUbuntu.com - musiałem (tymczasowo - w tej chwili) włączyć obsługę JavaScript w witrynie. Używam NoScript i włączam JavaScript dla strony, kiedy myślę, że jest to jasne - ale dopiero wtedy. Domyślnie JavaScript jest wyłączony dla witryn, których wcześniej nie odwiedzałem.
źródło
Ja robię. NoScript do końca. Zrezygnuję, gdy przeglądarki będą w piaskownicy, a nie wcześniej.
źródło
Ludzie mówią o tej decyzji, jakby była ona binarna. Albo z wdziękiem degradujesz, albo nie. Zamiast tego, dlaczego nie rozważyć kosztów i korzyści płynących z wdzięcznej degradacji dla poszczególnych funkcji? Na przykład możesz upewnić się, że strona ma podstawową funkcjonalność, ale nadal wymaga Javascript, aby ktoś mógł korzystać z określonych funkcji.
Pamiętaj również, że wiele osób, które wyłączają Javascript, robi to, ponieważ chce korzystać z lekkiej, uproszczonej strony internetowej zawierającej tylko niezbędne elementy. Możesz spędzać cały ten czas, sprawiając, że dzwonki i gwizdy działają dla użytkowników, którzy specjalnie starają się ich unikać.
Ludzie narzekają, że poniżanie z wdziękiem to tyle pracy. Jeśli narzekasz na to, ile to pracy, prawdopodobnie pracujesz nad funkcją, dla której warto wymagać Javascript.
Moim zdaniem użytkownicy bez Javascript powinni zawsze móc poruszać się po stronie, korzystać ze strony kontaktowej i czytać wszystkie artykuły lub posty na blogu. W przypadku bardziej złożonej funkcjonalności wykonaj telefon oceny w oparciu o pracę i związane z nią korzyści.
źródło
Wyłączam go tylko, aby przeglądać Pr0n (złe sąsiedztwo!) ;-)
Zrezygnowałem z próby wyłączenia go do regularnego przeglądania, ponieważ rzeczy się zepsuły. A czasem nawet nie wiem, że został zepsuty, dopóki go nie włączyłem.
źródło
Jeśli Twoja witryna może być używana przez osoby niepełnosprawne, dobrym pomysłem jest zapewnienie kopii zapasowej JavaScript.
źródło
Strategia i planowanie witryny są zależne od przypadku . Oznacza to, że strona internetowa nie musi wcale obsługiwać przeglądarki IE, nie mówiąc już o drobnych problemach, takich jak obsługa granicy CSS3. Ale inne strony mogą wymagać nawet kompatybilności wstecznej do IE6.
Jak możemy zrozumieć, co musimy zaplanować dla strony internetowej? Częściowo z naszego doświadczenia. Strony internetowe przeznaczone dla programistów i programistów mogą mieć pewność, że ich użytkownicy używają całkiem nowych i zaktualizowanych przeglądarek z włączoną prawie wszystkimi funkcjami. Jednak serwisy informacyjne powinny myśleć, że ktoś z nieznanego miejsca na ziemi może połączyć się z ich witryną, aby zobaczyć, co przechodzi kraj.
Ale oprócz naszego doświadczenia i intuicji musimy również zainstalować na naszej stronie internetowej usługę analityczną , aby nasze przyszłe decyzje były bardziej wiarygodne na podstawie danych statystycznych. Na przykład Google Analytics jest bardzo dobrym narzędziem. Stamtąd możesz sprawdzić, czy naprawdę potrzebujesz obsługi starszych przeglądarek, czy nie.
Jeśli jednak chcemy postępować zgodnie z Wytycznymi dotyczącymi dostępności sieci z W3C, zdecydowanie powinniśmy wspierać wiele rzeczy, bez uwzględnienia okoliczności specyficznych dla witryny.
W twoim szczególnym przypadku mówię, że nie . Możemy bezpiecznie zapomnieć o braku skryptu w małych i średnich witrynach internetowych. Ale w przypadku większych projektów nie jest złym pomysłem umieszczanie na swoich stronach nieco więcej znaczników.
źródło
Nie mogę zdecydować, czy niektóre odpowiedzi w tym wątku są przezabawne, czy poważne: ciasteczka bardziej niebezpieczne niż javascript? lol
Każda witryna powinna zostać przetestowana z wyłączoną obsługą plików js i plików cookie, jednak jest to minimum imho.
źródło
Nie zapomnij ciasteczek. Pliki cookie uważam za bardziej niebezpieczne niż JavaScript. Kiedyś byłem użytkownikiem NoScript, ale wyłączyłem go na rzecz białej listy plików cookie.
źródło
Tylko jeśli klient wyraźnie tego zażąda
Chyba że masz znaczną liczbę użytkowników, których to dotyczy, to po prostu dodatkowy wysiłek.
źródło
Zawsze mam włączony JavaScript. Zawsze też mam przy sobie mój minimalny zestaw przywracania.
Musimy wyłączyć JavaScript w linii, więc mógłbym powiedzieć „bez alertów, bez przekierowań, bez gniazd sieciowych”. Funkcjonalność jest przynajmniej w WebKit , sądząc z konsoli i różnych inspektorów.
Ale tak, zawsze włączony JavaScript. Głównie dlatego, że już wkrótce ludzie będą używać gniazd sieciowych, aby siać wszelkiego rodzaju zło, dokładnie tak, jak to się stało, gdy Flash dostał „fajną” maszynę wirtualną. Potem wyłączę JavaScript. Jeśli oczywiście mi pozwolą.
Chcę cieszyć się jak najwięcej dobra. Mam więc miłe wspomnienia z tej epoki. Chcę być pod wrażeniem, chcę chichotać z powodu szaleństw JavaScript, ponieważ naprawdę tęsknię za tym, co mieliśmy w 2007 roku, swobodny przepływ słodkich informacji, takich jak woda źródlana, wszędzie otwarte źródła.
Nie wyłączę tego, dopóki nie będę musiał.
źródło
Uruchamianie z płyty CD / DVD na żywo (fizycznie lub na maszynie wirtualnej) sprawia, że czuję się o wiele lepiej, pozwalając Flash i JavaScript robić swoje. Jeśli dobrze pamiętam, Linux Mint ma gotową obsługę Flasha.
Jeśli chodzi o tworzenie stron, zwykle robię rozsądną ilość wymiany div i menu w JavaScript, ale staram się, aby wszystko wyglądało dobrze i zasadniczo działało z CSS.
źródło
Zamiast skupiać się na tym, aby cała strona uległa płynnemu rozkładowi, staram się upewnić, że około 75% (lub więcej, jeśli można to łatwo lub szybko zrobić) strony płynnie się obniża (lub działa bez JavaScript ). Staram się również, aby te 75% uzupełniało całą funkcjonalność strony.
Na przykład używam JavaScript do ładowania komentarzy do postów na moim blogu; Dało mi elastyczność, spójność w renderowaniu komentarzy i pomaga mi utrzymać narzucony przez siebie limit pojedynczego zapytania / żądania. Jednak główny powód, dla którego odwiedzasz mojego bloga - czytanie postów - nadal jest generowany przez serwer i będzie działał z każdą przeglądarką. Komentarze są całkowicie samodzielne w czystym
.js
pliku.TL; DR Kluczem tutaj jest to, co degraduje z wdziękiem, a nie jak bardzo degraduje z wdziękiem.
źródło