Когда это в порядке для использования JavaScript и если не?

Это - хорошая практика для не использования большого количества javascript/jquery? Мы должны избежать его как можно больше (для хорошей доступности)?

Когда это в порядке для использования JavaScript и когда это находится не в веб-дизайне и разработке? В какой сценарии и с какой условия?

Обновление:

Я спрашиваю относительно общедоступных веб-сайтов.

20
задан 5 revs, 2 users 73% 17 September 2010 в 04:55
поделиться

12 ответов

Должен с уважением не согласиться с плакатами, в которых говорится, что вы не должны использовать JavaScript, или использовать его экономно, или изящно деградировать.

Причина в том, что сегодня подавляющее большинство людей использует JavaScript и ценит возможности настольного компьютера, которые он может обеспечить на веб-сайте. Действительно, у кого не включен JavaScript? Люди действуют так, как будто это статистически значимая группа. Нет.

Отказ от использования JavaScript немного похож на придирки к размеру переменных (о, я могу использовать здесь 16-битное целое число вместо 32-битного, чтобы сэкономить немного памяти). Если вы не реализуете какой-то монстр-проект для сотен тысяч людей, где рентабельность инвестиций от времени, которое вы тратите на то, чтобы сделать ваш веб-сайт изящно деградирующим, на самом деле положительна, вам следует использовать JavaScript так свободно, как вам нравится. Два человека, которые не могут получить к нему доступ, потому что они отключили его, являются параноиками и, вероятно, не те люди, которых вы хотите в качестве клиентов.

Только мои 2 цента.

22
ответ дан 29 November 2019 в 23:27
поделиться

Ну, я не согласен с вашей точкой зрения, что не стоит регулярно использовать java-script и jquery. Сегодня браузеры совместимы с javascript, и если вам нужно разработать сайт, в котором требуется валидация, вы должны предпочесть javascript (для валидации на стороне клиента).

0
ответ дан 29 November 2019 в 23:27
поделиться

С помощью javascript мы можем установить отношения клиент / сервер с пользователями в том смысле, что мы можем использовать их мощность процессора для создания страницы и освобождения некоторых ресурсов с наших серверов. мы доставляем код и данные, а их браузеры собирают их вместе, и это так, как должно быть. :)

С уважением Бабак

0
ответ дан 29 November 2019 в 23:27
поделиться

NASA - отличный пример того, как не следует использовать JavaScript на публичном сайте - похоже, они используют JS для обслуживания таблиц стилей, специфичных для браузера, что приводит к нестилизованному беспорядку при отключенном JS.

1
ответ дан 29 November 2019 в 23:27
поделиться

Ответ mhr, "Всегда, пока он изящно деградирует", является хорошей базой. Я бы добавил, что разумные исключения могут быть сделаны, когда Javascript обеспечивает функциональность приложения (ваш сайт является "веб-приложением", а не чисто информационным), которое не имеет эквивалента на стороне сервера. Так, например, "изящная деградация" как правило не должна помешать вам создать веб-инструмент для рисования (который был бы, в лучшем случае, необычайно обременительным, если бы он изящно деградировал до форм и функциональности на стороне сервера). Однако это должно помешать вам требовать Javascript для доступа к любому контенту, который этот инструмент рисования публикует для аудитории, отличной от создателя контента (потому что создатель контента, очевидно, уже согласился с тем, что Javascript необходим для использования сайта).

2
ответ дан 29 November 2019 в 23:27
поделиться

В основном JavaScript используется для написания функций, которые встраиваются в HTML-страницы или включаются из них и взаимодействуют с объектной моделью документа (DOM) страницы. Вот несколько простых примеров такого использования:

  1. Открытие или всплывающее окно нового окна с программным контролем над размером, положением и атрибутами нового окна.

  2. Проверка входных значений веб-формы, чтобы убедиться, что они будут приняты, прежде чем они будут отправлены на сервер.

  3. Изменение изображений при наведении курсора мыши на них: этот эффект часто используется для привлечения внимания пользователя к важным ссылкам, отображаемым в виде графических элементов.

Поскольку код JavaScript может выполняться локально в браузере пользователя (а не на удаленном сервере), он может быстро реагировать на действия пользователя, заставляя приложение чувствовать себя более отзывчивым.

0
ответ дан 29 November 2019 в 23:27
поделиться

На общедоступном веб-сайте можно использовать JavaScript, пока информация, содержащаяся на вашем сайте, все еще доступна, а удобство использования по-прежнему хорошо для людей без JS.

Если вы находитесь в более контролируемой среде, такой как корпоративная интрасеть или что-то в этом роде, возможно, вы можете гораздо больше полагаться на JavaScript.

Также, если ваш сайт - это больше приложение, чем документ, и его функциональность просто невозможна без JS, вы, конечно, можете его использовать.

Вы также можете просто принять тот факт, что у некоторых людей будут проблемы с использованием вашего сайта, но в любом случае они будут сильно полагаться на JS. Это ваш выбор.

0
ответ дан 29 November 2019 в 23:27
поделиться

+1 ко всему, что сказал г-н Эксперт.

Еще одна вещь, которую нужно добавить: не хорошо для доступности, если критические функции вашего сайта зависят от JavaScript. Если JS отключен в браузере пользователя, он все равно должен иметь возможность отправить все формы, нажать все кнопки и т.д. Ваш сайт должен плавно деградировать при отсутствии JavaScript.

Замечание по поводу форм:
По возможности используйте Hijax подход к отправке форм. Заставьте их работать с помощью традиционного обновления страницы, а затем используйте JavaScript, чтобы "перехватить" отправку формы и сделать это с помощью AJAX. Если у клиента отключен AJAX, формы все равно будут работать нормально.

12
ответ дан 29 November 2019 в 23:27
поделиться

При всем моем уважении к мистеру Дж. Нильсену: консервативность в дизайне может быть действительно бессмысленной с точки зрения эволюции и прогресса. Когда впервые появился flash (с первыми версиями ActionScript, программирование на вынос) появилось много шумно-глянцевых анимированных интерфейсов, с большинством из которых было практически невозможно работать с точки зрения удобства использования. Но факт в том, что из всех этих футуристических экспериментов произошли некоторые качественные улучшения пользовательского интерфейса.

С javascript произошло нечто похожее: то, что было просто виджетом, становится все более и более популярным, даже выходя за пределы уровня представления для обработки некоторой бизнес-логики: RIA (Rich Internet Applications) постепенно полагаются на javascript для взаимодействия с пользователем. Использовать или не использовать javascript?

Я думаю, что каждый инструмент, ориентированный на повышение удобства использования и взаимодействия, приветствуется в совершенно новом мире, который постоянно развивается и который слишком далек, чтобы иметь четкую форму, направление или просто простой план под ним. .

То, что здесь говорят другие, полностью верно: не стоит думать об одном или двух, у которых все еще отключен javascript, поскольку производители игр не слишком заботятся, если ваш компьютер воняет, и они продолжают выходить за рамки графики.Благодаря этому мы больше не играем в PACMAN (только если Google захочет) и можем наслаждаться Assassins Creed.

1
ответ дан 29 November 2019 в 23:27
поделиться

Прежде чем я что-то скажу, позвольте мне уточнить, что все это относительно - все дело в ВАШЕЙ ЦЕЛЕВОЙ АУДИТОРИИ. Ответ может быть на противоположных концах спектра, если большинство вашей целевой аудитории - инвалиды в Африке, а моя целевая аудитория - геймеры в Южной Корее.

Во-первых, посмотрите на соотношение количества пользователей с включенным JS и отключенным JS в вашей целевой аудитории. Для среднего веб-сайта это соотношение составляет 100:1.

Во-вторых, учитывайте пропускную способность. jQuery minified и gzipped - это 24K. Но все ли браузеры правильно работают с gzip-содержимым? Выберите подходящий фреймворк пользовательского интерфейса или решите, стоит ли вообще его использовать, в зависимости от пропускной способности вашей целевой аудитории. Если ваша целевая аудитория - молодые люди с широкополосным доступом в Интернет, они не будут жаловаться, если размер фреймворка составит мегабайты. Но если ваш сайт предназначен для отдаленных деревень в какой-либо стране для оказания помощи, образовательных программ или чего-то еще, то избегайте таких рамок - они едва ли смогут получить доступ к Интернету.

В-третьих, для доступности важны две вещи:

  1. Любой человек должен иметь возможность видеть/слушать/знать содержимое вашего сайта.
  2. Любой человек должен иметь возможность выполнять все важные функции на вашем сайте.

Как только вы позаботитесь об этом, используя технологии с минимальным знаменателем для ВАШЕЙ целевой аудитории, вы всегда можете использовать javascript для украшения вещей и улучшения существующих базовых функций (автозавершение, AJAX submit и т.д...)

Подводя итог, можно сказать: "Изящно деградируйте".

Доступность в стороне, я не согласен, что мы должны изящно деградировать в случае, если у кого-то отключен JS!

Для настольных компьютеров с браузерами, говорить, что Когда у людей не включен javascript, ваш сайт должен изящно деградировать, все равно что сказать Ваш игровой движок должен изящно деградировать до DirectX 6, потому что некоторые люди используют Windows 95. . Больше не имеет смысла. Обратите внимание на слово больше. Это имело смысл, когда JavaScript был только в 50% браузеров, и это была развивающаяся технология.

У кого-нибудь есть веские причины, почему моя 3D игра должна иметь возможность изящно деградировать и использовать DirectX 6? Это спорно. Что действительно имеет смысл, так это то, что моя игра использует DirectX 11 в Windows 7, но изящно деградирует и использует DX10 в Vista или даже DX9 в XP.

Да ладно... посмотрите на статистику. Соотношение включенного и выключенного JS составляет примерно 100:1

Опять же, все меняется, если 80% вашей аудитории использует для просмотра вашего сайта какой-то новый браузер на мобильном устройстве с шаткой реализацией JS.

Если у большинства вашей целевой аудитории/устройств включен JS, используйте его хорошо. Если нет, то и не надо. Вы просто должны дать им то, что они могут использовать и видеть.

Всегда будет меньшинство, но если есть предварительное условие для просмотра веб-сайта, и оно достаточно распространено, они должны иметь его установленным/включенным, иначе им будет очень плохо. Вам точно не нужны параноики среди вашей целевой аудитории.

В конце концов, только у вас есть информация, которая поможет вам решить, насколько необходимо использовать JavaScript. Это всегда диктуется вашей целевой аудиторией и ее устройствами.

6
ответ дан 29 November 2019 в 23:27
поделиться

Если вы разрабатываете простой веб-сайт, вам следует использовать JavaScript только для улучшения взаимодействия с пользователем, и он должен постепенно ухудшаться для тех, у кого он не включен. Если ваш веб-сайт ориентирован на контент, вы должны относиться к нему следующим образом: сначала контент, а затем - навороты на основе JavaScript. Не должно быть ни одной необходимой функциональности, которая не работала бы без включенного JavaScript.

Однако , если вы создаете веб-приложение , то сходите с ума. Предполагается, что веб-приложения используют JavaScript, поэтому нет смысла обслуживать людей, у которых он отключен; если они действительно хотят использовать вашу продукцию, они включат JavaScript (или используют другое устройство). Не стоит тратить силы на то, чтобы заставить его работать без включенного JavaScript. Это все равно, что утверждать, что вы не должны придавать своей видеоигре хорошую графику, потому что компьютеры более низкого уровня не смогут ее запустить: люди, которые действительно хотят играть в вашу видеоигру, обновят свою машину.

3
ответ дан 29 November 2019 в 23:27
поделиться

Ваш сайт должен постепенно деградировать хотя бы по одной причине: NoScript. Это расширение Firefox зависит от белого списка, позволяющего сайтам запускать Javascript. Это означает, что сайтам, которые я никогда раньше не посещал, не будет разрешено запускать Javascript. Это хороший способ предотвратить множество фишинговых атак и атак межсайтового скриптинга (XSS).

Сайты должны сначала заслужить мое доверие. Да, Ebay и Amazon могут сильно зависеть от Javascript, но такой сайт, как www.buyviagracheap.com, не может.

И если с отключенным Javascript вам нечего показывать, я быстро нажму «назад», прежде чем вы сможете сказать «но ...», и больше никогда не вернусь.

Если, однако, мне нравится то, что я вижу, я могу включить Javascript для вашего сайта и улучшить свой опыт. Поэтому нет необходимости предоставлять полную альтернативную функциональность с отключенным Javascript.

0
ответ дан 29 November 2019 в 23:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: