Этот сайт - часть системы сайтов для начинающих веб-мастеров
|
Так в чем
же ограничивает нас HTML? Зачем понадобилось придумывать еще один язык? Нельзя
ли обойтись без него?
В общем, можно.
Обходились же мы на протяжении целых одиннадцати глав обычным HTML, и ничего!
Но дело в том, что странички-то мы делали неинтерактивные, т. е. не взаимодействующие
с пользователем, не меняющие свое содержимое в ответ на его действия. Для таких
страниц хватит и "чистого" HTML. А как только вы захотите "научить"
страницу взаимодействовать с пользователем, т. е. сделать интерактивной,
вы сразу упретесь в непреодолимую стену.
А все потому,
что HTML не позволяет задать поведение страницы в ответ, скажем, на щелчок мыши
по одному из ее элементов. С его помощью задается только ее внешний вид. И этим
он в корне отличается от "классических" языков программирования,
описывающих как раз поведение.
Собственно,
HTML — и не язык программирования, а язык описания Web-страниц — и не более.
Он описывает, как должна выглядеть информация в окне Web-обозревателя, только
и всего. Причем, этот внешний вид жестко стандартизирован; Web-дизайнер, как
вы уже поняли, значительно сильнее ограничен в своих возможностях, чем дизайнер-полиграфист.
Особых вольностей
на Web-страницах он не сделает. (Фреймы, таблицы разметки и каскадные таблицы
стилей CSS снимают многие ограничения, но не все.)
Конечно, такие
ограничения обусловлены благой целью — обеспечением совместимости и единообразия
внешнего вида страниц на любой компьютерной платформе. Но кому нужна совместимость
такой ценой!
Вы можете
сказать, что любая Web-страница и так йвляется интерактивной, т. к. реагирует
на щелчки по гиперссылкам. Но это не интерактивность, а стандартное поведение,
заданное HTML. Интерактивность - это когда в ответ на перемещение курсора мыши
за ним "бежит" картинка, когда при щелчке на фотографии внизу появляется
ее описание, когда прямо на страничке "тикают" цифровые часы. Вот
это настоящая интерактивность: в первом и втором случаях страница реагирует
на действия пользователя, а в третьем — на события внешней среды. (Здесь под
внешней средой подразумевается операционная система; работающий в ней системный
таймер заставляет идти нарисованные часы.) И обычный HTML не может ее обеспечить.
Чтобы преодолеть
этот недостаток "чистого" HTML, были придуманы два пути.
Первый путь
— это специальные, как правило, нестандартные, "фирменные", теги,
расширяющие возможности языка. В подавляющем большинстве случаев они добавляют
Web-страницам интерактивные возможности. Например, нестандартный парный тег
<MARQUEE>. . .</MARQUEE>, поддерживаемый Internet Explorer, позволяет
создать на странице "прокручивающийся" текст. Но, согласитесь, эти
расширения ограничивают Web-дизайнера теми возможностями, что вложили в них
разработчики Web-обозревателя. И вы не сможете заставить текст в элементе <MARQUEE>
не прокручиваться, а последовательно менять цвета — разработчики Internet Explorer
этого не предусмотрели.
Мы хотим сами
задавать поведение элементов страниц в ответ на действия пользователя. Мы хотим
сами контролировать их поведение, держать все нити управления в своих руках.
HTML их нам предоставить не может; ограничения, обусловленные самой его природой,
— стена, преодолеть которую невозможно. Однако, если стену нельзя перепрыгнуть,
ее можно обойти. Так мы и сделаем.