Один отключает 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 вообще на стороне клиента, и это все равно будет здорово и, возможно, намного менее затратно.
Ваш пробег может варьироваться в зависимости от вашего проекта.