Подтвердить что ты не робот

Когда можно использовать Javascript, а когда нет?

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

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

Update:

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

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

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

Одно примечание для форм:

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

Ответ 3

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

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

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

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

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

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

Подводя итог, изящно деградируйте.

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

Ответ 4

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

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

Ответ 5

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

Ответ 6

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

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

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

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

Ответ 7

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

Ответ 8

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

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

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

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

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

Ответ 9

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

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

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

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

Ответ 10

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

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

Ответ 11

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

Ответ 12

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

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

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

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