Wczoraj zadałem pytanie Czy powinienem zawracać sobie głowę opracowaniem kodu JavaScript wyłączonego? . Myślę, że consencus brzmi: tak, powinienem opracować JavaScript. Teraz chcę tylko zrozumieć, dlaczego użytkownicy wyłączają JS. Wygląda na to, że wielu programistów (myślę, że ludzie, którzy odpowiedzieli na pytania są programistami) wyłącza JS. Dlaczego. Dlaczego użytkownicy wyłączają JS? Dla ochrony? Prędkość? albo co?
web-development
javascript
Jiew Meng
źródło
źródło
Odpowiedzi:
Jeden wyłącza JavaScript w środowisku przeglądarki z następujących powodów:
Szybkość i przepustowość
Wiele aplikacji używa zbyt wiele skryptów JavaScript do własnych celów ... Czy potrzebujesz części interfejsu do odświeżania przez połączenia AJAX przez cały czas? Być może twój interfejs jest świetny i szybki, gdy jest używany z połączeniem szerokopasmowym, ale gdy musisz obniżyć do niższych prędkości połączenia, preferowany jest bardziej usprawniony interfejs. A wyłączenie JavaScriptu to dobry sposób na zapobieganie oszołomionym aplikacjom internetowym odświeżania świata co około 15 sekund bez powodu. (Czy kiedykolwiek spojrzałeś na ilość danych, które Facebook przesyła? To przerażające. Nie jest to jednak tylko kwestia związana z JS, ale jest jej częścią).
Mamy również tendencję do przenoszenia coraz większej ilości przetwarzania do klienta, a jeśli używasz minimalistycznego (lub po prostu przestarzałego) sprzętu, jest to boleśnie powolne.
Użyteczność i dostępność
Nie wszystkie interfejsy użytkownika powinny być wyrażane dynamicznie, a treści generowane przez serwer mogą być w wielu przypadkach całkowicie akceptowalne. Ponadto niektóre osoby po prostu nie chcą tego typu interfejsów. Nie możesz zadowolić wszystkich, ale czasami masz szansę i obowiązek zadowolenia wszystkich użytkowników.
Wreszcie, niektórzy użytkownicy są niepełnosprawni i nigdy ich nie ignorujesz !!!
Moim zdaniem najgorszym scenariuszem są tutaj rządowe strony internetowe, które próbują „zmodernizować” swoje interfejsy użytkownika, aby wydawały się bardziej przyjazne dla społeczeństwa, ale ostatecznie pozostawiają za sobą dużą część docelowej grupy odbiorców. Podobnie szkoda, gdy student uniwersytetu nie może uzyskać dostępu do treści swojego kursu: ponieważ jest niewidomy, a jego czytnik ekranu nie obsługuje strony, lub ponieważ strona jest tak ciężka i wymaga nowoczesnych wtyczek ad hoc, które nie może zainstalować na odnowionym laptopie kupionym na e-bay 2 lata temu lub ponownie, ponieważ wraca do domu do innego kraju na przerwę wiosenną, a lokalne ograniczenia przepustowości nie są w stanie poradzić sobie z ładunkiem teren.
Nie wszyscy żyją w idealnym świecie.
Wsparcie platformy
Ten punkt odnosi się do dwóch poprzednich i obecnie jest mniej istotny, ponieważ przeglądarki osadzają silniki JavaScript, które są o poziom wielkości bardziej wydajne niż kiedyś, a to staje się coraz lepsze.
Nie ma jednak gwarancji, że wszyscy Twoi użytkownicy mają przywilej korzystania z nowoczesnych przeglądarek (albo z powodu ograniczeń korporacyjnych - które zmuszają nas do wspierania przeglądarek przedpotopowych bez uzasadnionego powodu, naprawdę - lub z innych powodów, które mogą być lub nie być ważne). Jak wspomniał „Matthieu M.” w komentarzach należy pamiętać, że wiele osób nadal używa sprzętu niższej jakości i że nie wszyscy używają najnowszego i najfajniejszego smartfona. Na dzień dzisiejszy znaczna część osób korzysta z telefonów z wbudowanymi przeglądarkami z ograniczoną obsługą.
Ale, jak wspomniałem, w tej dziedzinie jest coraz lepiej. Ale nadal musisz pamiętać o poprzednich punktach dotyczących ograniczeń przepustowości, jeśli bardzo regularnie odpytujesz (lub użytkownicy będą cieszyć się ładnym rachunkiem telefonicznym).
Wszystko jest bardzo powiązane.
Bezpieczeństwo
Chociaż oczywiście można pomyśleć, że przy pomocy JavaScript nie można zrobić nic szczególnie niebezpiecznego, biorąc pod uwagę, że działa on w środowisku przeglądarki, jest to całkowicie nieprawda.
Zdajesz sobie sprawę, że kiedy odwiedzasz P.SE i SO, jesteś automatycznie logowany, jeśli zalogowałeś się w innej sieci, prawda? Jest tam trochę JS. Ten kawałek jest jednak nadal nieszkodliwy, ale wykorzystuje pewne koncepcje, które mogą zostać wykorzystane przez niektóre wrogie strony. Witryna może całkowicie wykorzystywać JavaScript do zbierania informacji o niektórych czynnościach (lub czynnościach) podczas sesji przeglądania (lub poprzednich, jeśli nie wyczyścisz danych sesji za każdym razem, gdy zamkniesz przeglądarkę lub uruchomisz teraz często używane tryby przeglądania incognito / private), a następnie wystarczy przesłać je na serwer.
Ostatnie luki w zabezpieczeniach (działające wówczas w głównych przeglądarkach) obejmowały możliwość gromadzenia zapisanych danych formularzy wejściowych (wypróbowanie kombinacji dla Ciebie na złej stronie i zapisanie sugerowanych tekstów dla każdej możliwej kombinacji liter początkowych, prawdopodobnie informując atakującego, kim jesteś , gdzie pracujesz i mieszkasz ) lub wyodrębnić historię przeglądania i zwyczaje ( bardzo sprytny hack robi coś tak prostego, jak wstrzykiwanie linków do DOM strony, aby dopasować kolor linku i sprawdzić, czy została odwiedzona . na wystarczająco dużej tabeli znanych nazw domen. A Twoja przeglądarka przyspiesza przetwarzanie JavaScript, tego typu czynności są wykonywane szybko).
Ponadto nie zapominajmy, że jeśli model bezpieczeństwa przeglądarki jest wadliwy lub odwiedzane witryny nie chronią się wystarczająco, aby uniknąć ataków XSS, wówczas można użyć JavaScript, aby po prostu skorzystać z otwartych sesji na zdalnych stronach internetowych.
JavaScript jest w większości nieszkodliwy ... jeśli używasz go w zaufanych witrynach. Gmail Facebook (może ... a nawet nie ...). Google Reader. StackExchange.
Ale tak, JavaScript nie może być taki zły, prawda? I tak są straszniejsze rzeczy, których można się obawiać w Internecie. Jak na przykład myślenie, że jesteś anonimowy, kiedy tak naprawdę nie jesteś aż taki , jak pokazano w eksperymencie EFF z Panopticlick . Które jest częściowo wykonane przy użyciu JavaScript. Możesz nawet przeczytać ich powody, aby wyłączyć JavaScript, aby uniknąć pobierania odcisków palców w przeglądarce .
Biorąc to wszystko pod uwagę, mogą istnieć idealnie dobre sytuacje, w których nie musisz się martwić o obsługę JavaScript. Ale jeśli oferujesz witrynę z usługami publicznymi, rozważ zaakceptowanie obu rodzajów klientów. Osobiście uważam, że wiele współczesnych aplikacji i stron internetowych działałoby równie dobrze, używając wcześniej wygenerowanego przez serwer modelu treści bez JavaScript w ogóle po stronie klienta, i nadal byłoby świetne i prawdopodobnie o wiele mniej pracochłonne.
Twój przebieg może się różnić w zależności od projektu.
źródło
Ponieważ ufanie komuś, że każdego ranka napisze zabawny komiks i ufanie komuś, że uruchomi dowolny kod Turinga na moim komputerze, to dwie bardzo różne rzeczy.
źródło
Nie jestem programistą i mam jedynie umiarkowane zrozumienie działania Internetu. To jest odpowiedź od użytkownika .
Z mojego doświadczenia wynika, że wiele stron jest po prostu źle zakodowanych, czy to z powodu lenistwa, czy ignorancji: kiedy oglądałem stronę w zasadzie statyczną , taką jak strona na Facebooku, moje użycie procesora wzrosłoby o około 15% i drastycznie więcej z wieloma kartami. W końcu doszło do punktu, w którym musiałbym czekać na odpowiedź po kliknięciu przycisku lub łącza, a mój procesor przegrzałby się i zablokował.
Na wielu z tych najgorszych przestępców (witryn) nic widocznego się nie zmienia i nie dzieje się nic interaktywnego. Mogłem tylko przypuszczać, że kod witryny stale generuje nadmierne odświeżenia, ankiety i niekończące się pętle.
To zmusiło mnie do zainstalowania NoScript, aby zwolnić użycie procesora i przestać być frustrującym obowiązkiem przeglądania.
Innym cudownym dodatkiem, którego używam, jest FlashBlock .
źródło
Wyłączam JS ze względu na szybkość. TechCrunch bez JavaScript zajmuje kilka sekund, aby załadować z przygotowaną pamięcią podręczną. W przypadku JavaScript zajmuje to prawie 20 sekund, więcej, jeśli pamięć podręczna nie zostanie zalana.
Wiele stron zostało nadętych przez JavaScript, szczególnie galerie zdjęć i witryny handlowe. Usunięcie tego zapewnia lepszą jakość przeglądania w większości przypadków.
źródło
Dla mnie wszystko dotyczy bezpieczeństwa. Używam noscript, aby zezwolić niektórym stronom na uruchamianie javascript, a większość nie.
W końcu tak naprawdę nigdy nie wiadomo, na czym polega niebezpieczeństwo ( zainfekowana witryna internetowa nobel na techspot.com ). Wiele exploitów zero-day (i innych) wykorzystuje javascipt; zamknięcie tej jednej drogi ataku wydaje się krokiem we właściwym kierunku.
źródło
Moim głównym powodem jest to, że tłumi najbardziej irytujące reklamy. Wolałbym nie używać AdBlock Plus, ponieważ może to mieć wpływ na przychody z odwiedzanych witryn (i korzystałem z jednej lub dwóch witryn, w których warunki usługi mówiły, że nie mam wyłączać reklam). NoScript ogranicza potencjalną nieznośność reklam i jestem gotów żyć z resztą.
Jest to również kwestia bezpieczeństwa i jest to w dużej mierze związane z reklamami, ponieważ każdą witrynę sprzedającą reklamy należy uznać za potencjalnie wrogą.
Co więcej, niekoniecznie wiem, że witryna jest podejrzana, zanim ją odwiedzę. Niektórzy ludzie lubią wysyłać linki do stron i niekoniecznie są uczciwi.
źródło
Ponieważ przeglądarki miały powolne implementacje JavaScript, a zbyt wielu projektantów stron internetowych n00b używało go do nieistotnych rzeczy, takich jak najazd przycisków.
Na szybkiej maszynie z nowoczesną przeglądarką nikt przy zdrowych zmysłach nie wyłącza jej przez cały czas. Nie oznacza to, że nie ma wielu „świadomych bezpieczeństwa” ludzi i innych osób bez funduszy, chęci i wiedzy, aby prowadzić nowoczesną przeglądarkę na szybkim komputerze ... Dopiero niedawno IE6 przestał być najpopularniejsza przeglądarka w Internecie!
źródło
Po włączeniu Javascript każda strona internetowa może wykonać kod na moim komputerze. Nie wiem nawet, czy dana witryna wykonuje kod i co robi. Co gorsza, ktoś inny może wstawić kod bez mojej wiedzy do normalnie nieszkodliwej witryny (XSS). Niedawno znany niemiecki magazyn komputerowy nie napisał artykułu, a 16-latek wypróbował witryny bankowości internetowej najpopularniejszych banków w Niemczech. Wiele z nich - w tym największa - było podatnych na atak XSS. I nawet nie zauważasz, że twoja strona bankowości internetowej wykonuje JavaScript, który zmienia na przykład cel i kwotę transakcji. Przy wyłączonym JavaScript atak XSS w kontekście zaufanej strony jest bezużyteczny, nie wykonuję złośliwego kodu.
źródło