Javascript не включен
Я занимаюсь разработкой веб-приложений уже несколько лет. Одна из проблем, с которой я сталкиваюсь, заключается в необходимости разработки веб-приложений, в которых JavaScript не включен или недоступен. Я знаю, что это было проблемой несколько лет назад, но мне интересно узнать, что другие веб-дизайнеры, разработчики думают об этой проблеме? Это все еще проблема?
Причина, по которой я спрашиваю об этом, заключается в том, что мне кажется, что мы просто обслуживаем сценарии, которые вряд ли произойдут в наши дни. Это особенно касается публичных веб-сайтов и веб-приложений? Правильно ли я оцениваю? Мне интересно узнать опыт и любые знания других веб-разработчиков и дизайнеров
Благодарю.
5 ответов
Даже сегодня некоторые люди (включая меня) отключили JS по умолчанию. Профессионально созданные сайты либо предупреждают об отключенных функциях, либо работают без JS (через полную перезагрузку страницы).
Я бы порекомендовал вам убедиться, что основные функциональные возможности вашего сайта доступны без JavaScript.
Если вы будете работать таким образом, вы получите сайт, который работает, даже если вы или другой разработчик допускаете несовершенный JS на производственный сайт - серьезная ошибка JS не обязательно будет полной остановкой шоу.
Также: AJAX, эффекты и другие пухи могут потребовать aaaaaaages для отладки. Пользователи не против простого. Вы должны стремиться к простому и медленно добавлять навороты, пользовательское тестирование по мере добавления, чтобы избежать создания кучи дерьма AJAXeffectsFluffy, который сбивает с толку и глючит...
+1 за прогрессивное улучшение. Здесь у вас есть базовая, не бросающаяся в глаза функциональность с простым HTML/CSS, а затем вы получите код JavaScript, который либо дополнит, либо заменит эту функциональность своей собственной.
Например, если у вас есть постраничная навигация на странице, которая состоит из простых гиперссылок для страницы 1, страницы 2 и т. Д., Например.
<div class="paging">
<ul>
<li><a href="?page=1">1</a>
<li><a href="?page=2">2</a>
<li><a href="?page=3">3</a>
</ul>
</div>
Тогда вы будете иметь функциональность JavaScript, которая ищет ваш div.paging
элемент и полностью заменяет его чем-то более элегантным, например (в псевдокоде)
$('div.paging').each(function()
{
$(this).find('ul').remove();
$(this).append(renderAdvancedPaging());
});
Что касается того, чем он может быть заменен, это может быть бесконечная прокрутка в стиле Google Images (да, я знаю, что у Bing это было первым) или подход Twitter с большой кнопкой следующей страницы внизу, которая динамически добавляет следующий набор результатов (есть посмотрите http://twitter.com/codinghorror - прокрутите вниз и нажмите "Еще").
Преимущества этого подхода "Прогрессивное улучшение":
- Подходит для людей, которые отключили JavaScript, в том числе опытных пользователей и пользователей, работающих в сильно закрытых корпоративных интрасетях.
- Доступность: слепые пользователи с программами чтения с экрана все еще могут использовать ваш сайт.
- Поисковые системы, которые не выполняют JavaScript на вашей странице, могут по-прежнему следовать вашим ссылкам на пейджинг и индексировать дополнительный контент этих страниц.
Последний пункт должен быть самым важным, если вы заботитесь о SEO.
Однако бывают случаи, когда вы можете разумно игнорировать Progressive Enhancement и создать сайт, который использует JavaScript и не будет работать без него. Вы, как правило, делаете это, например, для расширенных веб-приложений или мобильных веб-приложений, оптимизированных для мобильных устройств. Например, Google Maps, приложение для календаря, приложение для рисования HTML5, которое использует <canvas>
элемент, игра на основе HTML5 и т. д. Мое правило: все, что "основано на контенте" (блог-сайт, новостной сайт, интернет-магазин и т. д.), должно применять прогрессивное улучшение, тогда как все, что "Application-y" может просто сойти с мандата JavaScript.
В конечном итоге все зависит от того, что вы строите, и от того, подходит ли вам маршрут прогрессивного улучшения.
Трудно найти статистику по числу людей с отключенным JavaScript ( некоторые здесь, но это с 2008 года, а также с этой статьей Stackru от 2008 года), но я думаю, что становится все менее вероятным отключить сценарий из-за растущего числа приложений RIA и Приложения HTML5, использующие JavaScript (Документы Google, Карты и т. Д.). Также учитывайте растущее число мобильных интернет-устройств (iPhone, iPad и т. Д.), Которые не позволяют отключать JavaScript.
Прогрессивное улучшение! Я почти всегда просматриваю отключенный JS, тратя слишком много времени на раздражение из-за сайтов AJAXd, поэтому всегда начинаю с простых форм загрузки страниц и т. Д., Прежде чем добавлять функциональность JS.
JS-фреймворки, такие как jQuery, mootools и т. Д., Становятся все более и более популярными, поскольку практически каждый может создать "блестящий" веб-сайт с анимацией. Но я думаю, что чем больше людей начнут использовать инструменты, тем меньше желание любого обычного браузера включить JS.
Есть люди, которые думают, что вам нужно также позаботиться о людях, у которых отключен CSS. Все это может свести вас с ума, учитывая все "что если" в мире Интернета. Те, кто отключает JavaScript, знают, для чего они нужны, и никогда не удивляются, найдя сайт, который из-за этого не работает. Если они знают достаточно, чтобы выключить его, то они знают достаточно, чтобы снова включить его, когда им это нужно.
Я думаю, что это был Тим Бернерс-Ли, который однажды сказал, что сеть всегда предназначалась для написания сценариев. Хуки сценариев встроены в HTML, и все браузеры работают с ним. Почти у всех он включен, и они должны. Используйте это в ваших интересах.