2009-11-03 7 views

ответ

1

Да, вы всегда должны иметь версию навигации, отличную от javascript.

Лучший способ сделать это - применить любые стили, которые скрывают подменю с помощью javascript - так что если javascript не будет запущен, все меню будет видимым.

HTML-код для меню, с которым вы связались, выглядит отлично - <ul> s и <a> s - приятно и легко для пользователя с пауком или без javascript.

+0

Это выглядит так, но классы CSS по умолчанию «скрыты», поэтому, когда я смотрю на него на javascrip-disable, появляются только родительские элементы. –

+0

Да, это то, что вам нужно изменить – Greg

+0

@nute - изменить значение по умолчанию, чтобы показать и добавить новое имя класса, использовать встроенный Javascript (над Nav), чтобы добавить новое правило CSS для этого класса: display: none; Браузеры с поддержкой Javascript будут скрывать Nav до того, как он появится (так что не мерцает), а браузеры, не поддерживающие JS, тоже будут видеть Nav. – donohoe

0

Это всегда хорошая идея иметь версию без JavaScript.

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

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

0

Возможно, вы захотите использовать ненавязчивый javascript, который в основном означает отсутствие javascript на вашей странице html, просто загрузите файлы javascript.

Теперь, если вы начинаете с меню слева, для навигации, используя <li> и привязывающие теги, вы можете иметь навигацию без javascript.

Итак, если ваш javascript работает, первое, что он должен делать, когда дерево догов готово, - установить display: none в навигационном div и поместить в новую, более интерактивную навигационную панель.

Этот способ позволяет увидеть, как он работает без javascript.

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

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

0

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

Однако, если проект не имеет его в бюджете или приложение, которое вы пишете, сильно зависит от JavaScript, просто не имеет смысла его поддерживать.

Статистика от w3c и the counter указывает, что с 93% до 95% пользователей имеют включенность JavaScript. Теперь, заметьте, что это глобальная демография. Чтобы действительно определить, стоит ли вам потратить время и деньги, вам нужно было бы сделать свою собственную статистику, чтобы определить, какой процент вашего трафика/демографии включен в JavaScript.

В качестве примечания стороны: по причинам, сходным с тем, почему люди отходят от поддержки IE 6, моя компания также уходит от поддержки noscript.Особенно в крупномасштабных RIA, просто непрактично писать одно и то же дважды. Поддержание двух базовых кодов для одного проекта - это не мое представление о хорошем времени. Но, конечно, это всегда зависит от клиента и целевой демографии.

Смежные вопросы