Чому люди відключають JavaScript?


59

Я вчора поставив запитання, чи повинен я намагатися розробляти для інвалідів JavaScript? . Я думаю, що консенсус такий: Так, я повинен розробити для JavaScript-інвалідів. Тепер я просто хочу зрозуміти, чому користувачі відключають JS. Здається, багато розробників (я думаю, люди, які відповіли на питання розробники) відключають JS. Чому так. Чому користувачі відключають JS? Для безпеки? Швидкість? або те, що?


9
Я думаю, ви робите припущення на основі анекдотичних доказів. Факт полягає в тому, що 99,7% користувачів не вимикають JS. Насправді, якби вони дійсно мали б вимкнути JS, вони б тут не відповіли на запитання, тому що цей веб-сайт не працює без JS.
vartec

2
Я не знаю нікого, хто це робить.
kirk.burleson

6
@varted, @kirk: Я знаю багато людей, які займаються, або принаймні частково. Наприклад, багато людей, які знають безпеку, дозволятимуть JavaScript лише на сайтах, які вони містять у списку. І я дуже багато знаю, хто відключає JS на своєму смартфоні, оскільки він часто коштує або акумулятор, який він розряджає.
haylem

1
У Chrome відключений JavaScript за замовчуванням з міркувань безпеки, хоча я вмикаю його для сайтів, які того варті. Мені дуже не подобається, що так багато веб-сайтів не працюють без JavaScript, є все більше таких, які взагалі не працюватимуть.
Чарек Томчак

2
@HannesKarppila Вони можуть по- , як і раніше використовувати крос печиво доменів і веб-помилка відстеження зображень і т.д. Відстеження користувачів працює нормально , якщо вони не відключити JavaScript і печиво, і в цьому випадку Інтернет є досить непридатним для використання.
NickG

Відповіді:


80

Один вимикає JavaScript у середовищі браузера через наступні міркування:

  • Швидкість та пропускна здатність
  • Можливість використання та доступність
  • Підтримка платформи
  • Безпека

Швидкість та пропускна здатність

Дуже багато додатків використовують занадто багато JavaScript для власного блага ... Чи потрібні вам частини вашого інтерфейсу, щоб постійно оновлюватися дзвінками AJAX? Можливо, ваш інтерфейс відчуває себе чудово і швидко при використанні з широкосмуговим з'єднанням, але коли вам доведеться понизити швидкість з'єднання, більш оптимізований інтерфейс є кращим. І вимкнення JavaScript - це хороший спосіб запобігти тупому веб-додатку, що оновлює світ кожні 15 секунд чи так без жодних вагомих причин. (Коли-небудь дивився на кількість даних, які Facebook надсилає? Це страшно. Хоча це не лише питання, пов’язані з JS, але це і частина).

Ми також схильні завантажувати все більше і більше обробку на клієнта, і якщо ви використовуєте мінімалістичне (або просто застаріле) обладнання, це болісно повільно.

Можливість використання та доступність

Не всі користувальницькі інтерфейси повинні виражатися динамічно, а створений на сервері вміст може бути цілком прийнятним у багатьох випадках. Крім того, деякі люди просто не хочуть такого типу інтерфейсів. Ви можете не всім подобатися, але іноді у вас є шанс і обов'язок задовольняти всіх своїх користувачів.

Нарешті, деякі користувачі мають інвалідність, і ви ніколи не будете їх ігнорувати !!!

На найгірший сценарій, на мою думку, це урядові веб-сайти, які намагаються «модернізувати» свої інтерфейси, щоб вони виглядали більш привітною для публіки, але в кінцевому підсумку залишають після себе великий шматок своєї передбачуваної аудиторії. Так само шкода, коли студент університету не може отримати доступ до вмісту свого курсу: тому що він / вона сліпий, а його читач екранів не підтримує сайт, або тому, що сайт настільки важкий і потребує спеціальних сучасних плагінів, він / вона не зможе встановити цей оновлений ноутбук, куплений на e-bay 2 роки тому, або знову ж таки тому, що він повертається додому в іншу країну на весняні канікули і місцеві обмеження пропускної здатності не можуть впоратися з корисним навантаженням сайт.

Не всі живуть у досконалому світі.

Підтримка платформи

Цей пункт стосується двох попередніх і, як правило, є менш актуальним в даний час, оскільки браузери вбудовують двигуни JavaScript, які на рівень більшої ефективності, ніж раніше, і це стає все кращим.

Однак немає гарантії, що всі ваші користувачі мають привілей використовувати сучасні веб-переглядачі (або через корпоративні обмеження - які змушують нас підтримувати допотопні браузери без поважних причин, і справді - або з інших причин, які можуть бути, а можуть і не бути дійсними). Як згадував "Матьє М." у коментарях вам потрібно пам’ятати, що багато людей все ще використовують апарат низької якості, і що не всі користуються останнім і крутим смартфоном. На сьогоднішній день все ще значна частина людей користується телефонами, які мають вбудовані браузери з обмеженою підтримкою.

Але, як я вже згадував, у цій галузі все покращується. Але тоді вам потрібно пам’ятати попередні пункти про обмеження пропускної здатності, якщо ви продовжуєте опитуватись дуже регулярно (або ваші користувачі будуть насолоджуватися приємним рахунком за телефон).

Це все дуже взаємопов’язано.

Безпека

Хоча, очевидно, можна подумати, що нічого особливо небезпечного неможливо зробити з JavaScript, враховуючи, що він працює в середовищі браузера, це абсолютно не відповідає дійсності.

Ви розумієте, що під час відвідування P.SE та SO ви автоматично входите в систему, якщо ви входили в будь-яку іншу мережу, правда? Там є якийсь JS. Цей біт все ще нешкідливий, але він використовує деякі концепції, які можуть бути використані деякими зловмисними сайтами. На веб-сайті цілком можливо використовувати JavaScript для збору інформації про деякі речі, які ви робили (або робили) під час сеансу перегляду (або про минулі, якщо ви не очищаєте дані сеансу щоразу, коли виходите з веб-переглядача або запускаєте програму загальні режими анонімного / приватного перегляду широко), а потім просто завантажте їх на сервер.

Останні вразливості (працювали в головних браузерах на той час) включали можливість збирати збережені дані вхідних форм (випробовуючи комбінації для вас на зловмисній сторінці та записуючи запропоновані тексти для кожної можливої ​​комбінації початкових літер, можливо, повідомляючи зловмисників, хто ви є , де ви працюєте і живете ) або витягувати історію перегляду та звички ( Дуже розумний хак робить щось таке просто, як вставляти посилання в DOM сторінки, щоб відповідати кольору посилання та побачити, чи воно відвідане . Вам просто потрібно зробити це на достатньо великій таблиці відомих доменних імен. І ваш браузер стає швидшим при обробці JavaScript, і ця справа швидко робиться.)

Плюс давайте не забувати, що якщо модель безпеки вашого браузера є помилковою, або веб-сайти, які ви відвідуєте, не захищають себе, коли недостатньо від XSS-атак, то можна використовувати JavaScript для простого відкриття сеансів на віддалених веб-сайтах.

JavaScript здебільшого нешкідливий ... якщо ви використовуєте його для надійних веб-сайтів. Gmail. Facebook (можливо ... і навіть не ...). Google Reader. StackExchange.

Але так, JavaScript не може бути таким поганим, правда? І в будь-якому випадку в Інтернеті є страшніші речі, яких варто боятися. Як на думку думати, що ти анонімний, коли насправді не так вже й багато , як показав експеримент Panopticlick EFF . Що також частково робиться за допомогою JavaScript. Ви навіть можете прочитати їх причини, щоб відключити JavaScript, щоб уникнути відбитків пальців браузера .


Враховуючи це, можуть виникнути абсолютно непогані ситуації, коли вам не потрібно займатись підтримкою JavaScript. Але якщо ви пропонуєте веб-сайт із загальнодоступними послугами, подумайте про прийняття обох типів клієнтів. Особисто я вважаю, що багато сучасних веб-додатків та веб-сайтів працюватимуть так само добре, використовуючи колишню модель, створену сервером, без JavaScript на клієнтській стороні, і це все ще буде чудово і, можливо, набагато менше.

Ваш пробіг може змінюватися в залежності від вашого проекту.


5
Наприклад, Facebook - це надзвичайний злив вашого процесора. Я натрапив на деякі сайти, які були настільки погано закодовані (або, здавалося б), вони в основному заморозили мій комп'ютер, повністю завантаживши процесор (з відкритими декількома іншими вкладками).
Марк C

3
@Mark C: Я вважаю, що повертаю цілих 140 КК для натискання на кнопку "Надіслати", коли я набираю коментар, трохи перебільшене використання веб-форм, чесно. Можливо, в той час були конкретні випадки, і з цього часу вони були виправлені (сподіваємось). Я недовго прожив у країні з гммм, обмежувальною позицією щодо інтернет-цензури та не такою чудовою якістю зв'язку, і це змушує вас цінувати добрі текстові веб-сайти набагато більше!
haylem

8
+1 для згадування доступності. Половина проклятого Інтернету для мене абсолютно непридатна, і я не є випадковим користувачем комп’ютера, і мені не потрібно покладатися на JAWS (поки що).
Стен Роджерс

2
@ Стан Роджерс: для мене це дуже важливо. У мене був шанс попрацювати зі сліпим хлопцем в університеті, який, як випадково, був студентом і викладачем, і мене здули його здібності. І мені дуже сумно, що великі компанії та навіть навчальні заклади зараз створюють хитрі веб-сайти, на яких ці користувачі не залишаються.
хайлем

2
+1 для доступності. Я працюю над сайтом, який дуже пов’язаний із охороною здоров’я. (На щастя, не безглузда в новинах) Скільки користі, як надає нам JS, я сильно сумую за нашими пріоритетами.
Katana314

46

Оскільки довіряти комусь щоранку писати кумедний комікс і довіряти комусь на моєму комп’ютері довільний код Тьюрінга - це дві дуже різні речі.


3
+1 для смішної аналогії. Хоча той факт, що це Turing complete, не має нічого спільного з небезпекою страти.
haylem

4
@haylem: Бути Тюрінг-повним означає, що неможливо механічно довести безпеку в загальному випадку. Чорт, навіть неможливо довести такі основні речі, як це не працює назавжди. Для більш обмеженої мови, браузер клієнта міг би довести, що сценарій не робить щось небезпечне.
Йорг W Міттаг

22
Тюрінг-повнота стосується лише обчислюваності. Це нічого не говорить про те, чи дозволяється інтерпретованій мові відкривати файли, робити HTTP-запити тощо. Єдина притаманна небезпека повноті Тьюрінга - це можливість нескінченного циклу.
dan04

@ dan04 Або намагається імітувати процесор x86 під керуванням Windows під керуванням програми Desktop, яка проектується у вікно вашого браузера - все у Javascript. Завершення повноти страшно
sinni800

@ dan04 і тепер криптовалюта видобутку ботнетів (для яких потрібні лише обчислювальні ресурси та можливість відправки результатів назад).
користувач253751

16

Я не веб-розробник, і маю лише помірне розуміння способу роботи Інтернету. Отже, це відповідь від користувача .

Мій досвід спонукає мене до думки, що багато сайтів просто погано кодуються, будь то лінь чи незнання: Коли я переглядаю в основному статичну веб-сторінку, наприклад, сторінку Facebook, використання мого процесора збільшиться приблизно на 15%, і різко більше з декількома вкладками. Врешті-решт, це дійшло до того, що мені доведеться чекати відповіді після натискання кнопки або посилання, і мій процесор перегріється і заблокується.

На багатьох із цих найгірших порушників (сайтів) нічого видимого не змінюється і нічого інтерактивного не відбувається. Я можу лише припустити, що код сайту постійно вносить надмірні оновлення, опитування та нескінченні цикли.

Це змусило мене встановити NoScript, щоб звільнити моє використання процесора і перестати переглядати веб-сайт, щоб стати неприємною справою.

Інший чудовий додаток, який я використовую, це FlashBlock .


Facebook не надає статичних сторінок: він використовує техніку, яка називається довгим опитуванням, щоб перевірити наявність нових повідомлень, повідомлень чату та новин. Для всіх цих речей потрібен JavaScript та деяка кількість процесорної потужності.

2
@MarkTrapp Так, саме тому я сказав "в основному статично", хоча це не суворо кажучи про статичну сторінку. HyperPhysics - це приклад сайту зі статичними сторінками. Я усвідомлюю, що, мабуть, потрібно робити таку річ, інакше поля ніколи не зникатимуть, і ви не побачите сповіщення, поки не оновите сторінку, але : Здається, кожен сайт допомагає собі більше своїх ресурсів, ніж повинен, як ситуація, коли професор чи викладач очікує, що ти поставиш їх роботу на перше місце.
Позначте C

якщо ви вважаєте, що facebook - це статична сторінка, то не варто коментувати це питання.
Даїній

@Dainius Ви, мабуть, плутаєте жаргон з англійською, і тут не дотримуєтесь логіки. Що це робиться з усіма цими процесорними циклами тут? У цьому проблема. Можливо, зараз краще, але багато з цих веб-сайтів допомагають собі непристойно витрачати час на ваш процесор.
Марк C

Марк, ви називаєте себе webdev і запитуєте, що стосується статичної та динамічної сторінки з циклами процесора? чи ти справді вважаєш, що "перегляд в основному статичної веб-сторінки, такої як Facebook-сторінка" є правдою?
Даїній

10

Я відключаю JS з причин швидкості. TechCrunch без JavaScript потребує декількох секунд, щоб завантажити грунтований кеш. За допомогою JavaScript це займає майже 20 секунд, і більше, якщо кеш не буде загрунтований.

Багато сайтів стали роздуті JavaScript, особливо галереї зображень та комерційні сайти. Якщо вилучите це, у більшості випадків ви отримуєте кращий досвід перегляду.


8

Для мене це все щодо безпеки. Я використовую noscript, щоб дозволити певним веб-сайтам запускати JavaScript, при цьому забороняючи більшість.

Зрештою, ви насправді ніколи не знаєте, де криється небезпека ( веб-сайт Нобеля, заражений на techspot.com ). Багато нульових (та інших) подвигів використовують javascipt; закриття цієї алеї атаки відчуває себе кроком у правильному напрямку.


1
Вам потрібні дужки навколо чогось для цього посилання. Це нагадує, що я дізнався лише минулої зими, що Yahoo! Спортивні оголошення були заражені певним зловмисним програмним забезпеченням (або можуть заразити вас). Юнак, який адміністрував домашню мережу, де ми перебували у чорному списку численних сайтів, на яких була інфекційна реклама.
Позначте C

7

Моя основна причина полягає в тому, що вона пригнічує найбільш дратує рекламу. Я б краще не використовував AdBlock Plus, оскільки це може вплинути на дохід для відвідуваних сайтів (і я використовував сайт або два, де в умовах надання послуг говорилося, що я не відключаю рекламу). NoScript обмежує потенційну неприємність реклами, і я готовий жити з рештою.

Існує також питання безпеки, і це багато в чому пов’язано з рекламою, оскільки будь-який сайт, який продає рекламу, повинен вважатися потенційно ворожим.

Крім того, я не обов'язково знаю, що сайт хитрий, перш ніж його відвідати. Деякі люди із задоволенням надсилають посилання на сайти, і це не обов'язково чесно.


Також довірені сайти можуть містити шкідливі Javascripts - через XSS або через те, що вони зламані. Приміть приклад сайту Нобелівської премії.
Менмент

4

Оскільки браузери використовували повільні реалізації JavaScript і занадто багато веб-дизайнерів n00b просто використовували його для невідповідних речей, таких як перекидання кнопок.

На швидкій машині, із сучасним браузером, ніхто з розумом не відключає її весь час. Що не означає, що без коштів, бажання чи ноу-хау для запуску сучасного веб-переглядача на швидкому комп’ютері не так багато дуже „свідомих безпекою” людей та інших людей… Ідею лише IE6 перестала бути нещодавно найпопулярніший браузер в Інтернеті!


"та інші без коштів, бажання чи ноу-хау для запуску сучасного браузера на швидкому комп'ютері". Я можу зрозуміти і погодитись із частиною «фондів». Я можу зрозуміти частину "бажання", хоча я думаю, що зазвичай це було б більше справою "потреби" як нав'язуваного обмеження, що відмова мати гідний комп'ютер. Але я не отримую частки "ноу-хау". Як ви можете бути некваліфікованими до того, що не купуєте останній комп’ютер? Або, якщо ви робите, неправомірним використанням цього способу не встановлювати пакетний браузер і використовувати натомість старіший? :)
haylem

2

З активованим Javascript будь-який веб-сайт може виконувати код на моєму комп’ютері. Я навіть не знаю, чи конкретний веб-сайт виконує код і що він робить. Ще гірше, що хтось інший може вставити код без мого відома на звичайно нешкідливий веб-сайт (XSS). Нещодавно відомий німецький комп'ютерний журнал не написав статтю, коли 16-річна людина спробувала інтернет-банкінг сайтів найпоширеніших банків Німеччини. Багато з них - в тому числі найбільші - були вразливими для XSS. І ви навіть не помічаєте, що ваш веб-сайт-банкінг виконує деякий Javascript, який змінює, наприклад, ціль та суму транзакції. Якщо вимкнено Javascript, XSS-атака в контексті надійного сайту є марною, я не виконую шкідливий код.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.