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



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


В наши дни нормально предполагать, что у ваших посетителей включен JS. С учетом сказанного, вы должны стремиться к максимально возможной деградации вашего сайта с отключенным JS. Идеально, если ваш сайт вернется в состояние, которое все еще можно использовать без JS.
Да, это так. Но покажите как можно больше с помощью обычного HTML и URL-адресов, хотя бы для чего-то другого, кроме как для Google.
Доступно, да ... функционально? Не совсем.
На самом деле это вопрос требования клиента, который больше не зависит от разработчика, но если ваш клиент пытается обеспечить соблюдение требования, чтобы браузеры, не поддерживающие JS, работали, вы должны решительно возразить против этого и по-настоящему указать им на «крутой» фактор, которого им будет не хватать. .
Учитывая сильную зависимость GWT, RichFaces и т. д. От Javascript, без него просто невозможно создать приложение с любым удобным пользовательским интерфейсом.
Вы, безусловно, должны предупредить пользователей, не использующих JS, о том, что сайт, который они пытаются посетить, в значительной степени зависит от JS. Нет смысла грубить по этому поводу.
Я думаю, что есть еще одна причина, которая подталкивает вас к поддержке хотя бы некоторых основных функций без JS - многие из нас сейчас просматривают с мобильных устройств и КПК, которые не имеют поддержки JavaScript на том же уровне.
Я просматриваю с моего iPhone, поддержка js лучше, чем IE И кто еще делает КПК?
Я просматриваю с помощью NoScript в Firefox, и меня всегда раздражает, когда я получаю страницы, которые не работают. Тем не менее - знайте свою аудиторию. Если вы пытаетесь обслужить параноиков-профессионалов в области компьютерной безопасности - предположите, что у них не включен JavaScript. Если вы ориентируетесь на широкую аудиторию, вероятно, включен JavaScript.
"меня всегда раздражает, когда у меня не работают страницы" - есть очень простое решение ...
Реальность такова, что NoScript сам по себе становится все более популярным. Не у многих полностью отключен javascript: но число, у кого он отключен, условно почему-то равно растущий, а не сокращается.
Я отклонил это предложение из-за присущего ему самодовольного тона: вы решили не использовать определенную технологию, а затем вас раздражает, когда сайты не работают? Пока можно только ожидать, что сайт будет деградировать в разумных пределах.
Также обратите внимание, что у специалистов по безопасности может быть отключен JS, но они узнают, что он отключен, и ожидают, что производительность снизится - поэтому, если ваш сайт работает неправильно, когда они смотрят на него, это не так плохо, потому что они будут знать, как исправить это для себя.
Настоящая проблема для нас, пользователей NoScript, - это сайты, которые активно уничтожают сайт, если вы не включите javascript. например herold.at покрывает весь сайт DIV, чтобы объявить, что JS отключен. Если я удалю этот DIV, сайт будет работать без JS. Какого черта ?!
@David, div может быть использован для чего-то и только скрыт / инициализирован внутри скрипта. Это ваша вина, а не его, если только он так не спроектировал. Лично я использую Adblock для удаления нежелательной рекламы и javascript, в противном случае мой полностью включен.
@matt and flea: Вы оба упускаете суть. Javascript может вызвать бреши в безопасности, и его разумно отключить для нормального использования. Сайт, который без нужды ломается, когда Javascript отключен, довольно тупой.
Хочу отметить, что этому ответу уже 3 года, и он больше не актуален. у всех включен JS, даже в телефонах.
Точно так же сейчас 2017 год, и я был бы удивлен, если бы многие люди сознательно предпочитали просматривать веб-страницы без JS, за исключением инвалидности.
http://www.w3schools.com/browsers/browsers_stats.asp
Они утверждают, что 95% пользователей используют Javascript.
Я просто хочу добавить это, чтобы люди, не знающие об этом, знали, что статистика W3Schools предназначена для посетителей ИХ сайта, которые, как правило, предназначены для тех, кто ищет веб-руководства (веб-разработчики), поэтому эта страница не является репрезентативной для населения в целом. Firefox превосходит IE по статистике ...
По крайней мере, в одной категории ответ однозначно «нет». Если вы работаете на правительство, вы должен убедитесь, что сайт доступен для тех, кто использует программы чтения с экрана.
Я думаю, будет справедливо предположить, что у большинства посетителей вашего сайта включен JavaScript. Некоторые из наиболее посещаемых сайтов зависят от JavaScript. Например, я был удивлен, узнав, что вы не можете пройти аутентификацию через сайт с поддержкой Passport без браузера с поддержкой JS.
Нет, это не так, точка, точка, конец истории. Это просто наивно и неправильно с этической точки зрения, не говоря уже о том, что вы упускаете около 50% пользователей Интернета во всем мире (хотите верьте, хотите нет, 70% доступа в Интернет во всем мире осуществляется с мобильных устройств).
Добавьте дополнительные изящные вещи, требующие Javascript, и это нормально. Не делайте свой сайт непригодным для использования без Javascript, если у вас нет для этого действительно, действительно, действительно веской причины.
Кто-то правильно заметил, что у меня нет доказательств, подтверждающих мое утверждение о 70% пользователей мобильного Интернета. К сожалению, я не могу найти источник, из которого я получил это, но я помню, что он авторский, поэтому у меня нет причин сомневаться в этом. Это имеет смысл, хотя, если учесть использование во всем мире, во многих развивающихся странах мобильных телефонов больше, чем стационарных и широкополосных. Статистика, приведенная в моем ненайденном источнике, гласила, что в одной африканской стране, в частности, есть 300 000 стационарных телефонов, но 1,5 миллиона мобильных телефонов!
"70% доступа в Интернет во всем мире осуществляется с мобильных устройств)" ... у вас есть что-нибудь, чтобы это подтвердить ?? Я думаю ты очень очень далеки от реальности
Нет. Но, к сожалению, нет, у меня нет доказательств, я не могу вспомнить, где я их нашел, но я уверен, что они точны. Пойду посмотрю ...
Несмотря на то, что проценты верны или ложны, я полностью согласен с Рори Фицпатриком. Веб-разработчики плохо привыкли к разработке для Internet Explorer и поэтому часто забывают такие мелочи, как СТАНДАРТЫ. Когда вы разрабатываете веб-сайт, вы пишете какой-то фрагмент текста, который будет читаться и отображаться веб-браузерами. Веб-браузеры - это программное обеспечение, способное читать и отображать HTML-документы. Период. JavaScript НЕ является обязательным требованием для создания браузера, поэтому ответ - НЕТ. Если Кевин спросил, можно ли написать нестандартный код с использованием JavaScript в качестве требования, ну, это НЕ СТАНДАРТ, подойдет что угодно.
Почти у всех (но не у всех!) Пользователей будет включен javascript. (Я считаю, что приведенная выше цифра около 5% является точной.)
Учитывая значительное улучшение юзабилити, которое можно сделать с помощью разумного использования javascript, я считаю, что в большинстве случаев разумно предположить, что он включен.
Конечно, будут некоторые случаи, когда это не так (например, сайт, предназначенный для мобильных устройств или с высоким процентом пользователей с ограниченными возможностями и т. д.), И всегда следует обязательно прилагать усилия, чтобы сделать ваш сайт максимально доступным. возможно как можно большему проценту населения.
Тем не менее, если у вас только сайт с низким трафиком, 5% небольшого числа - это очень небольшое число. Возможно, не стоит отказываться от того, чтобы сделать ваш сайт доступным для этих людей, когда это может принести вам только одного или двух дополнительных пользователей.
Я предполагаю, что краткий ответ (как всегда): правильного ответа нет - он будет полностью зависеть от целевого использования и целевых пользователей рассматриваемого сайта.
Согласно эта маленькая страница Javascript включен в 95% браузеров и продолжает расти.
Полностью зависит от того, на кого вы нацелены.
Если ваш сайт или приложение предназначены для интрасети, вы можете делать множество предположений. Если ваша целевая аудитория - это современные социальные сети, вы можете предположить, что JavaScript будет работать. Если вы ожидаете появления множества типов системных администраторов-паранойей, вы можете предположить, что некоторые из них будут пытаться получить доступ к вашему сайту в lynx или отключат JS по «соображениям безопасности».
Хорошим примером этого является Amazon - их подход определяется их бизнес-целями. Они представляют собой сайт для массового рынка, но и для них, блокировок пользователей в старых / неспособных браузерах средств потенциальных потерь от продаж, поэтому они работают на не-скрипте откаты.
Так что, как и на многие подобные вопросы, ответ - это не просто повторение того, что вы где-то читали о доступности или прогрессивном улучшении. Настоящий ответ - «это зависит от обстоятельств».
На странице Статистика браузера W3C (прокрутите вниз) есть некоторая информация об этом; они говорят, что по состоянию на январь 2008 года 95% посетителей использовали JavaScript.
Разумно предположить, что у ваших посетителей включен javascript! -)
- но, конечно, это зависит от того, с кем вы пытаетесь связаться ...
Несколько раз упоминались вышеупомянутые школы w3schools и, как сказал Дэн, их собственные посетители, из-за чего делать выводы из них несколько странно.
Однако, если вы посмотрите на theCounter.com, кажется, что их аудитория в целом имеет те же привычки в этом вопросе ...
Особенность, о которой еще не упоминалось, - это растущее количество сканеров, сборщиков почты и т. д., У них определенно не включен javascript, и насколько хороши счетчики для их обнаружения? -)
Я предполагаю, что такие машины-браузеры заполняют большую часть этих 5-6%! O]
- при этом, если это вообще возможно, сделайте ваше приложение изящно деградирующим (как сказал мудрый человек)
Кажется, ваши вопросы предлагают ввод на основе формы для приложения. Если это приложение для интрасети, вам следует руководствоваться собственными экспертами по безопасности. Если это общедоступное приложение, то, как предлагали другие плакаты, изящно провалится.
Нет! В некоторых средах он будет отключен в соответствии с политикой, и вы ничего не сможете сделать для его включения. И даже если он включен, он может быть поврежден.
Этот вопрос задавали раньше.
Я утверждаю, что более чем разумно ожидать, что у них будет javascript, если вы предоставите подходящие средства для замены javascript, если он не будет включен. Одна из причин, по которой мне нравится Yahoo UI Library, заключается в том, что она постепенно деградирует.
Один интересный момент, который следует учитывать, заключается в том, что как веб-разработчик вы несете социальную ответственность за продвижение технологий - и, используя такие вещи, как AJAX, вы увеличиваете охват и, возможно, скорость принятия вместе с ним. Единственное, что должно помешать вам использовать эту технологию в полной мере, - это деньги. Если вы не зарабатываете деньги, которые вам нужны, потому что у людей будут проблемы с просмотром материала, вам придется пересмотреть свое решение.
Проголосовано против: AJAX - не серебряная пуля. Не используйте AJAX волей-неволей, чтобы доказать свою точку зрения. Для небольших обновлений, где это уместно, обязательно используйте AJAX. Для крупных обновлений страниц, если у вас еще нет AJAX в качестве абсолютного требование, используйте http, соблюдая действующие проблемы безопасности других.
Либо вы неправильно прочитали, либо я неправильно написал, но я никогда не буду защищать излишнее использование каких-либо технологий - все, что я пытаюсь сказать, это то, что браузеры поддерживают то, что люди используют, и если вы никогда не используете новую технологию, потому что это не так. Так как его можно легко поддержать, то он никогда не будет легко поддерживаться. Это уловка-22, которую мы можем сломать.
Вам не нужно игнорировать старое поведение, чтобы продвигать технологии вперед. Вы всегда можете сделать простую версию своего сайта для пользователей без JavaScript и полную версию с JavaScript. И я не имею в виду отдельные сайты, вы можете сделать тот, который полностью деградирует.
Я просматриваю с помощью плагина NoScript в firefox, и меня удивляет количество разработчиков, которые даже не подумали о том, чтобы сделать свой сайт деградируемым.
Никогда не предполагайте, что у пользователя отключен JavaScript - тем более, что это не всегда может быть его ошибкой. На многих предприятиях есть брандмауэры, которые блокируют JavaScript / ActiveX и т. д. - В этом случае элемент <noscript> не будет работать, поэтому я бы НЕ рекомендовал его использовать!
Если вы не создаете полноценное веб-приложение, которое на 90% будет состоять из Ajax, вы должны соблюдать стандарты и постепенно улучшать свой сайт с помощью различных уровней интерактивности.
Также не забывайте о важности обнаружения объектов, особенно с ростом количества просмотров веб-сайтов на мобильных телефонах. Один из самых популярных мобильных веб-браузеров (Opera mini 4.0) не позволяет работать со всем «фоновым javaScript», а вызовы Ajax редко выполняются правильно ... Просто о чем-то, о чем следует знать.
Честно говоря, я устал от разработчиков, которые думают, что JS будет включен у всех! Какое невежество !!
Предприятия блокируют Javascript / ActiveX, чтобы сотрудники не могли смотреть на то, что им не следует во время работы. они могут включить его для определенного сайта, если это связано с бизнесом.
Я всегда стараюсь сначала кодировать свои сайты как статические, ЗАТЕМ я добавляю функциональность js / ajax. Таким образом, я могу быть уверен, что он будет работать в браузерах, отличных от JS :)
Но javascript похож на flash: он есть у всех пользователей, но разработчик должен беспокоиться о том, ЧТО, ЕСЛИ ....? : D
Как отмечали многие люди, это полностью вопрос «зависит от обстоятельств».
Вот почему метрики ценны на сайтах, чтобы помочь показать, действительно ли вы можете работать по аналогии, что «основные сайты говорят, что большинство людей используют JS» - у вас может быть сайт, где это 99%. Я не буду углубляться в сказанное выше, потому что на него очень хорошо ответили :)
Is it reasonable to assume visitors have javascript enabled and simply have an unusable site for those who don't?
На самом деле есть два вопроса, и на них есть ответы: Да, разумно предположить, что у посетителей включен javascript. И нет, это не означает, что другие должны остаться с непригодным для использования сайтом.
Прогрессивное улучшение - это лучший способ. Сделайте свой сайт доступным для использования без javascript, а затем добавьте навороты.
Что касается проверки на стороне клиента, для пользователя это не более чем удобство, позволяющее избежать ненужных обращений к серверу (где должна выполняться настоящая проверка).
Никогда не используйте Javascript для проверки формы, как следует из вашего вопроса. Кто-то в конце концов поймет это и отключит Javascript.
Вместо этого закодируйте приложение в довольно обычном формате html и используйте Javascript для того, что он есть: дополнительный перк для ваших пользователей.
Даже для полностью AJAX-приложения, такого как Gmail, на стороне сервера требуется полная проверка формы.
«Я понимаю, что проверка на стороне сервера абсолютно необходима, чтобы злоумышленники (или просто пользователи, которые решили отключить javascript) не могли обойти проверку на стороне клиента»
Не то чтобы все остальные не вмешивались, но я в некоторой степени не согласен с позицией «посмотрите на свою аудиторию».
На самом деле это должно быть «посмотрите на свое приложение», если вы просто показываете некоторую информацию, а ваш js предназначен для звонков / свистков, тогда, конечно, посмотрите на красивую деградацию, если хотите.
Однако, если вы создаете что-то вроде Google Docs, это действительно глупо, что кто-то может подумать, что он может использовать ваш сайт без js, поэтому, возможно, сообщите им об этом с помощью красивого саркастического сообщения внутри тегов <noscript>.
С чисто философской точки зрения, если пользователи хотят получить доступ к вашему сайту, они переключат переключатель js или обновятся до приличного браузера и т. д. И вы должны заставить их сделать это, потому что эволюция важна для выживания разновидность.
Да, это так, JavaScript такой же старый, как CSS, и никто не пытается строить вокруг браузеров, не поддерживающих CSS. Межсайтовые сценарии - это причина, по которой люди боятся JavaScript, но поверьте мне, если разработчик хочет вас обмануть, ему для этого не нужен JavaScript. Что касается мобильных браузеров, в большинстве из них теперь есть JavaScript, а остальные не следует рассматривать как браузеры. Мой совет - не открываться для хакеров, делая свой сайт уязвимым для тех, кто решил отключить свой JavaScript, но в то же время не изо всех сил старайтесь поддерживать тех, кто живет в каменном веке. Вы же не собираетесь поддерживать IE 4 или Netscape, верно? Тогда зачем поддерживать тех, кто саботирует собственные браузеры из-за явного страха или паранойи?
Согласно сайту это, 95% браузеров используют JavaScript.
Тем не менее, есть МНОГО ботов, которые не используют JavaScript: парсеры, поисковые боты и т. д. Я бы сказал, что почти 100% реальных пользователей используют JavaScript. Но ваше предположение так же хорошо, как и мое.
Этот совет об идеальной деградации в некоторой степени зависит от вашей целевой аудитории, а также от того, что должен делать ваш веб-сайт или веб-приложение. Вы должны взвесить, окупятся ли усилия, потраченные на это.