+ 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 (да, я знаю, у Бинга она была первой) или подход Twitter с большой кнопкой на следующей страницевнизу, которая динамически добавляет следующий набор результатов (посмотрите http://twitter.com/codinghorror - прокрутите вниз и нажмите «Еще»).
Преимущества этого подхода «Прогрессивное улучшение»:
- Работает для людей, которые отключили JavaScript, включая опытных пользователей и пользователей, работающих в сильно заблокированныхorporate intranets.
- Доступность: слепые пользователи с программами чтения с экрана все еще могут пользоваться вашим сайтом.
- Поисковые системы, которые не выполняют JavaScript на вашей странице, могут по-прежнему следить за вашей страницей.ссылки и индексирование дополнительного содержимого этих страниц.
Последний пункт должен быть самым важным, если вы заботитесь о SEO.
Однако бывают случаи, когдакогда вы можете разумно игнорировать Progressive Enhancement и создать сайт, который использует JavaScript и не будет работать без него.Обычно вы делаете это для расширенных «веб-приложений» или мобильных веб-приложений, например, Google Maps, приложение для календаря, приложение для рисования HTML5, которое использует элемент <canvas>
, игра на основе HTML5 и т. Д. Мое правило,все, что «основано на контенте» (блог-сайт, новостной сайт, интернет-магазин и т. д.), должно применять прогрессивное улучшение, тогда как все, что «Application-y» может просто сойти с мандата JavaScript.
В конечном счете, все сводится к нулюк тому, что вы строите, и подходит ли вам маршрут Progressive Enhancement.
Трудно найти статистику для числа людей с отключенным JavaScript ( некоторые здесь , но этос 2008 года также это сообщение от StackOverflow от 2008 года), но я думаю, что вероятность отключения сценария становится все менее вероятной из-за растущего числа приложений RIA и приложений HTML5, использующих JavaScript (Документы Google, Карты и т. д.).).Также учитывайте растущее число мобильных интернет-устройств (iPhone, iPad и т. Д.), Которые не позволяют отключать JavaScript.