Один день без JavaScript: что может пойти не так?

Предлагаем вам перевод ироничной статьи Чарли Сонниэседж, специалиста по веб-разработке с уклоном в высоконагруженные приложения. В один прекрасный момент Чарли решила отключить в браузере JavaScript и посмотреть, что может пойти не так. На этот смелый «эксперимент» отважится далеко не каждый, поэтому давайте почитаем, что у нее получилось.
Я очень не люблю тех, кто полагается на хрупкий JavaScript для client-side, в то время как есть куча других альтернатив. Точно так же я не стану надеяться лишь на один сервис такси, когда еду в аэропорт на суперважный рейс. Если есть другие возможности — почему бы ими не воспользоваться?
Для меня это вопрос элегантности и простоты вместо ненужных усложнений.
Слишком много вкладок
Итак, мой суровый эксперимент начался с того, что я ограничилась уже открытыми вкладками в браузере. У нормальных людей их 2-3, в моем же случае это 17 дерьмиллионов вкладок, поскольку я часто страдаю от Проблемы незакрывания.
Серьезно, я никогда их не закрываю. Я пробовала вещи вроде One Tab, но просто не могу ограничить себя — обычно у меня открыто 2-3 десятка вкладок, о каждой из которых я говорю себе: «Я оставляю ее, чтобы просмотреть позже». Давайте просто признаем, что мне нужно лечение, и двинемся дальше.
Так вот, ничего супероригинального в моем эксперименте нет. Я просто отключаю JavaScript в браузере и перезагружаю сайт, ничего более. Для быстрого отключения JS всего одним кликом я использую Chrome и расширение Toogle JavaScript, загруженное, по иронии, через web-store Chrome, который работает только с JS.
Для тебя, дорогой читатель, я открыла эти вкладки в новых окнах, так что тебе не придется мучиться, пытаясь разглядеть каждую среди нескольких десятков.
Первые впечатления
Как оно? Всего через несколько минут после отключения JS мои первые впечатления: «Боже мой, все это такое быстрое без JavaScript». Кроме того, нет рекламы, нет загрузки случайного видео на различных сайтах. Нет такой фигни, как «ТЫ ЧТО, НЕ ХОЧЕШЬ ПОДПИСАТЬСЯ?», появляющейся в самый неожиданный момент.
Но если бы все было так хорошо, я бы отказалась от JS до конца своих дней. К сожалению, без JavaScript не работают многие вещи: выпадающие меню, формы, карты и прочее. Да и картинки не хотят раскрываться в полном размере, так что это проблема.
Сайты
Приступим! Я открыла достаточно репрезентативную подборку сайтов, так что посмотрим, как они поведут себя без JS.

Первый блин комом — просто белая страница. Да пошел ты, Feedly.
Ох, нет, прости. Можем вернуться и начать все сначала? Мне нравится использовать тебя в своих постах.
Но почему ты не работаешь? Твои разработчики должны предлагать базовую HTML-версию сервиса и использовать продвинутые функции вроде… хм-м-м, якорных ссылок для того, чтобы осуществлять навигацию между статьями. Но нет, получается, что этим сервисом можно пользоваться лишь при включенном JS.
Вердикт: мы еще обсудим наши отношения.

Twitter выглядит практически нормально (с обычным объемом контента), но это лишь на пару секунд. Затем идет редирект на mobile.twitter.com (на старую версию, разумеется, без этого вашего React). Это обескураживает — ведь сайт может работать в обычном режиме и без JS. Навигацию можно использовать такую, какая работает в мобильной версии, с параметрами вроде “?max_id=871333359884148737”, указывающими на то, каким будет последний твит в списке. Просто и элегантно.
Вердикт: можно было сделать и лучше.
Google Chrome

Страница скачивания Chrome вообще отказалась загружаться, видим белый экран.
Вердикт: нет, Chrome не для тебя, грязный яваскриптофоб!

YouTube явно хочет загрузиться и работать. Да, действительно хочет. Но на последних микросекундах всё останавливается и нет ни видео, ни превью, ни комментариев (хотя в последнем случае это и хорошо).
Вердикт: не могу посмотреть “My Drunk Kitchen” или Superwoman.

Этот сайт открыт на одной из моих вкладок уже около полугода. Да, такое себе, но уж извините, ок?
Зато он выглядит отлично и без javascript. Все анимационные элементы на месте (благодаря тому что они прорисованы с использованием CSS), навигация работает, все отлично.
Вердикт: классная работа. Smoooooth. Jazzz.

Я использовала NetFlix для того, чтобы убедить мою подругу смотреть Star Trek. Пока что мне этого сделать не удалось. Почему? Ну, одна из причин звучит вроде «Tasha спала с Mr. Data? Но это все равно, что заниматься сексом с микроволновкой».
В любом случае, NetFlix не работает без JS. Ну да, тайтл загружается. Но я понимаю, почему они не используют HTML5 — DRM и вот это все.
Вердикт: JavaScript-only — хит сезона.

Не знаю, почему у меня была открыта эта вкладка, но поскольку они у меня открыты годами, я не удивлена.
Без JS сайт NY Times загрузился за 561 мс, объем данных — 957 кб. Божечки, вот это вот мы и должны считать нормальным! Ведь с включенным JavaScript загрузка занимает 12 000 мс (12 секунд!), загружается 4 Мб данных. И как бонус, мы получаем полный букет развеселой рекламы.
Многие изображения грузятся очень медленно, некоторые вообще не загружаются при отключенном JS, показывая иконку недоступной картинки. Но все равно я могу читать все статьи.
Вердикт: не получилось… не работать. Печалька!

Я открыла эту вкладку после того, как в Лондоне был совершен теракт. Сайт без JS работает отлично. Это в большей степени мобильная версия, но все норм.
Вердикт: годно.
Google Search

Без JS поиск Google работает без проблем.
Ну хорошо, автозаполнения нет, дизайн а-ля 2000-е, но в целом все хорошо, базовые функции работают.
Вердикт: надежно.

Как всегда, «Википедия» не разочаровывает. Эта версия неотличима от версии с включенным JS. Оставайся классной, «Википедия»!
Вердикт: лучший друг на все времена.

Сайт выглядит немного недоделанным без JS. Контента на странице куча, но его расположение не контролируется. Но можно искать товары, можно оставлять отзывы. Можно даже добавлять товары в корзину и расплачиваться.
Вердикт: джунгли Амазонки.
Google Maps

Google Maps можно назвать сервисом одной страницы. И этот сервис целиком и полностью зависит от JS. Но, разработчики, можно же было хоть что-то сделать, ну как так? Вообще ничего не работает.
Вердикт: картографическая катастрофа.
Заключительный вердикт
Эксперимент заставил меня уважать сайты, которые просто работают, — их создатели хорошо постарались. Но как-то странно видеть, что сайт может медленно работать на мощной рабочей станции с включенным JS и при этом начинает просто летать с отключенным.
Хуже всего то, что после отключения JS начинаешь сознавать, сколько же всякого мусора подгружается в процессе. Теперь я понимаю, куда так быстро уходит мой гигабайт мобильного трафика.
Я считаю, что создавать сайты, способные работать без JS, вполне возможно. Я бы хотела серфить по сети, в которой вообще нет JavaScript. Черт, это мой выбор, как обычного пользователя! Это же веб, а не App Store для JavaScript, мы должны быть уверены, что все всегда работает на любом устройстве с самыми базовыми функциями.
Следует ли разрешать пользователям отключать JavaScript?

Последний раз я поднимал этот вопрос еще в 2013 году, когда Mozilla решила удалить параметр «отключить JavaScript» из диалогового окна настроек в Firefox 23. Основная причина:
- Большая часть современного Интернета может безуспешно сломаться без JavaScript.
- Это спасает пользователей от себя. Мало кто знает, что такое JavaScript, и еще меньше нужно его отключать.
- Те, кто может найти скрытые варианты в другом месте, если они действительно нуждаются в этом.

Эта популярная статья была обновлена с учетом сейсмического сдвига в ландшафте JavaScript с момента ее первоначального опубликования в 2013 году.
Преимущества пользователей от отключения JavaScript?
Возможно: обратитесь к Я выключил JavaScript на целую неделю, и это было великолепно . Без JavaScript волшебная сеть появляется без раздувания, рекламы, всплывающих окон, предупреждений о cookie-файлах, прокрутки прокрутки и многих других темных шаблонов, с которыми мы сталкиваемся сегодня .
Есть также люди с проблемами восприятия, которые отключают JavaScript по необходимости. Немногие сайты рассматривают рекомендации по доступности, так что это остается самым простым способом уменьшить движение и анимированные эффекты, которые могут вызвать дезориентацию и тошноту.
Содержимое статьи обычно видно, но недостатком является то, что многие веб-приложения не работают без JavaScript. Некоторые предоставляют пониженный опыт, но он может сломать магазины, карты, игры и сайты социальных сетей. Контентные сайты, основанные на современных клиентских приложениях, могут показывать только пустую страницу.
Можете ли вы запретить пользователям отключать JavaScript?
Нет!
Владельцы сайтов или разработчики не могут заставить пользователей загружать и запускать JavaScript. Браузеры «вытягивают» файлы с вашего сервера; пользователь может остановить это через настройки браузера, прокси-методы, плагины или ряд других вариантов перехвата.
Ваш сценарий также можно изменить или отключить определенные средства. Всегда помните, что пользователи контролируют: это их устройство и подключение. Они выбирают посещение вашего сайта и могут пропустить все, что не хотят.
Можете ли вы поддержать тех, кто без JavaScript?
Мало кто активно отключает скрипты. Соблазнительно думать, что эти пользователи заслуживают всего, что они (не) получают, но реальность более проблематична. JavaScript хрупок; Ваши сценарии могут сломаться по следующим причинам:
- HTTP-запрос не выполняется
- запрос не выполнен
- брандмауэр заблокировал ответ
- поставщик услуг заблокировал или изменил скрипт
- плагин браузера перехватил или изменил скрипт
- браузер не поддерживает код или средства, которые вам требуются
- другой скрипт вызывает ошибку, которая останавливает выполнение всех скриптов
Эти проблемы особенно распространены в мобильном мире, где пользователь может путешествовать, используя менее мощное устройство, подключаясь через медленную сеть, используя ненадежный Wi-Fi в аэропорту и т. Д.
Решением по-прежнему является прогрессивное улучшение . Вы создаете простейший HTML-интерфейс и затем расширяете его с помощью изображений, шрифтов, CSS и JavaScript, когда эти файлы успешно загружаются и выполняются. Ваш JavaScript может определять, когда API / средства доступны для:
- избегать запуска кода, который может привести к ошибке, или
- загружать полифилы, которые реализуют одинаковую функциональность.
Пользователи могут получить другой опыт. Те, кто использует последнюю версию Chrome на рабочем столе, могут получить наивысший уровень функциональности. Те, кто работает с Opera Mini на двухлетнем мобильном телефоне, могут получить страницу в базовом стиле. Важно, что каждый что-то получает, а сайт / приложение остается доступным для всех.
Прогрессивное улучшение стоит усилий?
Это решение для вас и приложения, которое вы создаете.
Прогрессивное улучшение имеет смысл для контент-сайтов и интернет-магазинов, которым необходимо охватить максимально широкую аудиторию. При правильной реализации это приводит к небольшим накладным расходам на разработку и может сэкономить время. Вы знаете, что все браузеры будут продолжать отображать ваш сайт независимо от того, какие обновления они получали в прошлом, настоящем или будущем.
Более простые приложения также могут принести пользу. Приложение, которое отправляет сообщения в социальную сеть, требует чуть больше, чем форма HTML5 и некоторая внутренняя обработка. Затем Progressive Enhancement улучшает работу, удаляя обновление страницы, добавляя стили, внедряя проверку ввода, обеспечивая подсчет символов, обрабатывая ошибки, делая работу в автономном режиме и многое другое.
Прогрессивное улучшение становится менее жизнеспособным для приложений с богатыми пользовательскими интерфейсами, таких как офисное программное обеспечение, картография, редактирование изображений и игры. Решение только для HTML и CSS может быть слишком громоздким, чтобы быть практичным. Тем не менее, вы должны показать что-то, даже если это просто «извините, вам нужен JavaScript» .
Блокировка JavaScript в 2017 году и далее
Вопрос «должен ли пользователь отключить JavaScript» не имеет большого значения. Пользователи всегда смогут предотвратить запуск JavaScript независимо от того, как производители показывают или скрывают расширенные настройки, но мало кто будет беспокоиться .
Только Microsoft Edge затрудняет отключение JavaScript. Возможно, это потому, что JavaScript стал неотъемлемой частью Windows 10, а не упущением в Edge? Если вам это не нравится, вы можете установить любой другой браузер или использовать прокси для удаления файлов .js
Браузеры на основе Blink идут дальше и позволяют пользователям включать или отключать JavaScript для каждого сайта отдельно. Это отличный вариант, хотя еще меньше людей, вероятно, будут поддерживать черные и белые списки URL.
Продавцы постоянно стремятся улучшить производительность. Несмотря на зависимость Google от рекламы, даже Chrome вскоре получит встроенный блокировщик рекламы. Следующий шаг: могут ли поставщики блокировать JavaScript на сайтах с низкой производительностью? Это простая победа: им просто нужно предоставить свои собственные черные списки с отключением JavaScript, как и на вредоносных сайтах и в системах блокировки рекламы.
Если это произойдет, пользователям не придется вручную отключать JavaScript — браузер будет учиться на основе показателей производительности, собранных при посещении сайта другими пользователями. В конечном счете, мы можем быть вынуждены использовать ответственные методы написания сценариев, нравится нам это или нет.
Как отключить JavaScript
Вот как отключить JavaScript в большинстве современных браузеров.
Гугл Хром
Chrome 59 предлагает более элегантный набор параметров, и вы можете отключить JavaScript для каждого сайта отдельно:
- Зайдите на любой сайт и нажмите значок «Информация о сайте» слева от адресной строки.
- Меню позволяет вам разрешить или заблокировать JavaScript на этом сайте.
Вы можете отключить его глобально, нажав «Настройки сайта» в этом меню или в основных настройках:
- Выберите Настройки из трехточечного значка меню.
- Прокрутите вниз и нажмите Дополнительно .
- Нажмите Настройки контента в разделе Конфиденциальность и безопасность .
- Нажмите JavaScript .
- Нажмите Разрешено (рекомендуется), чтобы изменить его на Блокировать .
Вы также можете добавить URL-адреса или регулярные выражения, чтобы заблокировать и разрешить JavaScript на определенных сайтах.
Google Chrome Mobile (Android)
Аналогичный процесс представлен в мобильной версии Chrome:
- Выберите Настройки из трехточечного значка меню.
- Нажмите Настройки сайта .
- Нажмите JavaScript
- Нажмите Разрешить сайтам запускать JavaScript (рекомендуется), чтобы изменить его на Заблокированный .
После блокировки вы можете добавлять исключения URL.
Mozilla Firefox
В Firefox нет простого варианта. Чтобы отключить JavaScript:
- Введите about: config в адресную строку и примите любые предупреждения.
- Введите javascript в поле поиска.
- Дважды щелкните javascript.enabled, чтобы изменить значение на false .
- Закройте вкладку и перезапустите браузер.
Safari (Mac OS)
Чтобы отключить JavaScript в Safari в Mac OS:
- Запустите браузер и нажмите Safari в меню в верхней части экрана.
- Выберите « Настройки» .
- Перейдите на вкладку « Безопасность ».
- Снимите флажок Включить JavaScript в разделе веб-материалов .
Safari (iOS для iPhone и iPad)
Чтобы отключить JavaScript в версии Safari для iPhone или iPad:
- Откройте настройки на главном экране.
- Прокрутите вниз и коснитесь Safari .
- Нажмите « Дополнительно» в нижней части экрана.
- Нажмите кнопку JavaScript , чтобы включить или отключить.
Microsoft Edge (Windows 10)
Последний выпуск Windows 10 не позволяет отключать JavaScript.
В некоторых более ранних выпусках можно было изменить параметры в редакторе локальной групповой политики : Конфигурация пользователя> Административные шаблоны> Компоненты Windows> Microsoft Edge, а затем изменить. Позволяет запускать сценарии, такие как JavaScript, чтобы отключить .
Microsoft Internet Explorer
JavaScript включается или отключается через диалоговое окно « Свойства обозревателя », доступное из панели управления Windows или из меню IE.
- Выберите вкладку « Безопасность ».
- Нажмите кнопку Пользовательский уровень… .
- Прокрутите вниз до раздела « Сценарии » вниз.
- Выберите Отключить в активных сценариях .
- Нажмите OK, затем OK снова.
опера
Чтобы отключить JavaScript в Opera:
- Выберите « Настройки» в меню значка Opera.
- Либо нажмите Веб-сайты в левом меню, либо введите javascript в поле «Настройки поиска».
- Выберите Не разрешать любому сайту запускать JavaScript .
Нажмите Управление исключениями…, чтобы ввести URL-адреса или регулярные выражения, для которых можно автоматически разрешать или блокировать JavaScript.
Vivaldi
Вивальди использует тот же движок Blink, что и Chrome и Opera, но вы не найдете JavaScript на стандартной панели настроек. Чтобы отключить сценарии:
- Зайдите на любой сайт и нажмите значок «Информация о сайте» слева от адресной строки.
- Меню позволяет вам разрешить или заблокировать JavaScript на этом сайте.
Вы также можете настроить JavaScript на глобальном уровне:
- Выберите Настройки сайта в нижней части меню «Информация о сайте», чтобы получить доступ к настройкам Blink.
- Выберите Не разрешать любому сайту запускать JavaScript .
Нажмите Управление исключениями…, чтобы ввести URL-адреса или регулярные выражения, для которых можно автоматически разрешать или блокировать JavaScript.
Храбрый
Чтобы отключить JavaScript в Brave:
- Нажмите на логотип Brave в правом верхнем углу.
- Для отдельных сайтов включите Block Scripts .
Для глобальных настроек:
- Нажмите Изменить настройки щита по умолчанию … во всплывающем окне.
- Перейдите на вкладку « Настройки ».
- Установите Block Scripts (сломает много сайтов) .
Альтернативные варианты
Поиск в магазине надстроек вашего браузера — существует множество расширений, которые могут включать, отключать, переписывать или изменять JavaScript различными способами.
Большинство инструментов разработчика (кроме Edge?) Позволяют отключать JavaScript, но обычно это относится только к активной вкладке и сеансу.
Вывод
Как упоминалось выше, вопрос «смогут ли пользователи отключить JavaScript» не имеет большого значения в 2017 году. Пользователи всегда смогут запретить выполнение JavaScript независимо от того, как производители показывают или скрывают расширенные настройки, но мало кто будет беспокоиться . Должны ли мы обслуживать этих пользователей без JavaScript, во многом зависит от приложения, которое вы создаете. Но здравый смысл подсказывает: чем доступнее ваш контент, тем большую аудиторию вы можете привлечь.
Но что вы думаете? Я хотел бы услышать от вас в комментариях ниже.
Эта статья была рецензирована Крисом Перри , Лесли Лутомски и Мэттом Бернеттом . Спасибо всем рецензентам SitePoint за то, что сделали контент SitePoint как можно лучше!
Что такое JavaScript и как отключить его в браузерах Firefox, Chrome, Opera, Safari, Яндекс Браузере
Язык программирования JavaScript используется для создания интерактивных страниц. Веб-сайты используют JavaScript для быстрой подгрузки данных на сайт. Например, дизайнерские подсказки при наведении мышкой, просмотр изображений в виде карусели, проверка корректности заполнения форм при отправке данных и т.п.
JavaScript настолько стал популярен, что его использует большинство сайтов в Интернете.
Минусы технологии JavaScript
- В языке JavaScript встречаются критические уязвимости.
- Некоторые ваши параметры, такие как язык операционной системы, браузера, часовой пояс, IP адрес и другие параметры могут быть обнаружены через Javascript.
Как отключить JavaScript
JavaScript можно отключить в браузерах: Mozilla Firefox, Google Chrome Chrome, Opera, Safari, Яндекс Браузер и Internet Explorer.
Можно проверить включена ли технология Javascript в вашем браузере на странице Проверки JavaScript и IP адреса.

Если у вас стоит значение Отключено, значит либо вы уже ранее отключили Javascript, или он не включен по умолчанию в браузере.
Если значение Включено, то читайте дальше как отключить.
Быстрая навигация по этой странице:
Google Chrome
Для отключения JavaScript в браузере Google Chrome зайдите в Настройки.

В строку поиска введите javascript и откройте Настройки Контента.


Отключите JavaScript в Google Chrome.

Mozilla Firefox
Для отключения JavaScript в браузере Mozilla Firefox введите в адресную строку следующий текст.
И нажмите кнопку Я принимаю риск.

В строку поиска введите javascript.enabled. Нажмите правой кнопкой мышки на строку и выберите Переключить.
JavaScript отключен в браузере Mozilla Firefox.

Safari
Для отключения JavaScript в браузере Safari зайдите в Настройки.

Отключите JavaScript в Safari на вкладке Безопасность.

Opera
Для отключения JavaScript в браузере Opera введите следующий текст в адресную строку и нажмите Enter.
Выберите раздел Сайты и отключите JavaScript в браузере Opera.

Яндекс Браузер
Для отключения JavaScript в Яндекс Браузере зайдите в Настройки.

Пролистайте вниз и нажмите на кнопку Дополнительные параметры и затем нажмите на кнопку Настройки содержимого.

Отключите JavaScript в Яндекс Браузере.

Internet Explorer
Для отключения JavaScript в браузере Internet Explorer зайдите в Свойства браузера.

На вкладке Безопасность нажмите кнопку Другой.

Найдите Сценарии и отключите Активные сценарии Javascript в Internet Explorer.

Microsoft Edge
Компания Microsoft убрала возможность отключения Javascript в последней версии браузера Microsoft Edge.
Если вам важно отключить JavaScript в Microsoft Edge, то рекомендуем воспользоваться другим браузером.
Станьте экспертом!
Получите больше информации о том, как быть анонимным в Интернете.
Получите знания в 1 клик
Стоит ли вообще заморачиваться на счет отключенного javascript
HI. Вопрос: Стоит ли на самом деле учитывать то, что у пользователя может быть отключен javascript при разработке web приложения. Кто-нибуть может привести статистику отключенного javascript у пользователей? Помню себя когда был обычным пользователем, такой проблем вообще не было (даже не знал, что это такое). Может эта проблемы высосана из пальца? У меня опыт в разработке не большой поэтому все еще сомневаюсь по этому поводу.
Конечно есть разные ситуации, когда стоит такой случай учитывать, и когда можно не заморачиваться. Если отсутствие JS у пользователя может повлечь потери средств (ну например оплата), ну или любая другая потеря (атомный реактор взорвется) то тогда надо предусматривать.
А вот в большинстве случаев, можно принебречь, все же на дворе 2013ый год, тут даже на счет <IE7 можно не заморачиваться )
Статистика, так статистика )
посмотрел на Яндекс.Метрике у своих сайтов:
- у первого: у 98,8% пользователей включен JavaScript
- у второго: у 99,1% пользователей включен JavaScript
У знакомого спросил (у него сайт пожирнее будет >160к различных пользователей), у него тоже в районе 98% включен JavaScript.
Мой совет — ставить к примеру ЯндексМетрику и там уже для своего сайта смотреть )
![]()
Как минимум базовые функции сайта (переход по ссылкам, отправка форм и тп) необходимо делать так, что бы они работали без JS. Это совсем не сложно и считается хорошим тоном =)
А на счет подгрузки jQuery — нужно грузить ее со своего сервера и тогда будете уверенны что он подгрузится. Или грузить с внешних сервисов (их офф сайт, гугловский источник или яндекса), а если не подгрузился, то подключать свой. Это может понадобится в том случае, если нужно оптимизировать скорость загрузки страницы. Т.к. у пользователя с большой вероятностью уже есть закешированная копия скрипта из внешнего источника, то он не будет 2й раз грузить с вашего сайта
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.6.8.43486
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.