Вход/Регистрация
JavaScript. Подробное руководство, 6-е издание
вернуться

Флэнаган Дэвид

Шрифт:

Эта строка будет отображена только в IE 5. 6, 7 и в более ранних версиях.

lte обозначает "less than or equal" (меньше или равно). Можно также использовать "It”,

"gt" и "gte”.

<![endif]-->

<! —[if ! IE]> <->

Это обычное HTML-содержимое, но IE не будет отображать его из-за комментариев, что расположены выше и ниже.

<!--> <![endif]-->

Это обычное содержимое, которое будет отображаться всеми броузерами.

В качестве более конкретного примера возьмем библиотеку excanvas.js, о которой выше говорилось, что она реализует поддержку элемента

<canvas>
в Internet Explorer. Поскольку эта библиотека требуется, только когда веб-страница отображается в IE (и работает только в IE), есть смысл оформлять ее подключение внутри условного комментария, чтобы другие броузеры даже не загружали ее:

<!--[if IE]><script src="excanvas.js"></script><![endif]-->

Условные комментарии также поддерживаются интерпретатором JavaScript в IE. Программисты, знакомые с языком C/C++, найдут их похожими на инструкции препроцессора

#ifdef/#endif
. Условные JavaScript-комментарии в IE начинаются с комбинации символов
/*@сс_оп
и завершаются комбинацией
@*/
. (Префиксы «сс» и «сс_оп» происходят от фразы «condition compilation», т. е. «условная компиляция».) Следующий условный комментарий содержит программный код, который будет выполняться только в IE:

/*@сс_оn

@if (@_jscript)

// Следующий код находится внутри JS-комментария, но IE выполнит его.

alert("In IE”);

@end

@*/

Внутри условных комментариев могут указываться ключевые слова

@if
,
@else
и
@end
, предназначенные для отделения программного кода, который должен выполняться интерпретатором JavaScript в IE по определенному условию. В большинстве случаев вам достаточно будет использовать показанное в предыдущем фрагменте условие
@if (@_jscript).
JScript
– это название интерпретатора JavaScript, которое было дано ему в Microsoft, а переменная
@_jscript
в IE всегда имеет значение
true
.

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

/*@сс_оп

@if (@_jscript)

// Этот блок кода находится внутри условного комментария,

// который также является обычным JavaScript-комментарием.

// В IE этот блок будет выполнен, а в других броузерах - нет.

alert('Bы пользуетесь Internet Explorer');

@else*/

// Этот блок уже не находится внутри JavaScript-комментария,

// но по-прежнему находится внутри условного комментария IE.

// Вследствие этого данный блок кода будет выполнен всеми броузерами, кроме IE.

alert(*Bы не пользуетесь Internet Explorer');

/*@end

@*/

13.5. Доступность

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

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

  • Читать дальше
  • 1
  • ...
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: