Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Применение JavaScript при создании Web-страниц




  • Необходимость применения JavaScript
  • Основы JavaScript
  • Вставка в код страницы
  • Синтаксис. Типы переменных. Массивы
  • Ввод/вывод в JavaScript
  • Управление потоком вычислений в JavaScript
  • Управление окнами просмотра.
  • Пользовательские функции
  • Формы и JavaScript

В предыдущих главах мы выяснили, что язык гипертекстовой разметки документов HTML является основным средством создания Web-страниц. В то же время, при всей своей мощи, он имеет несколько существенных недостатков, обусловленных, прежде всего, самой концепцией HTML именно как языка разметки. В данной главе будут рассмотрены способы преодоления некоторых недостатков HTML.

 

Необходимость применения JavaScript

Первый и самый главный недостаток языка HTML — это полное отсутствие каких-либо независимых от пользователя средств управления и контроля за отображением и просмотром Web-страниц. Содержимое и/или параметры отображения той или иной страницы задаются жестко в момент написания и не могут быть изменены в процессе отображения страницы и просмотра ее пользователем. Переходы между страницами также находятся под полным контролем пользователя. Даже размер открываемого для просмотра окна браузера будет таким, каким захочет видеть его пользователь (И ваш чудесный дизайн, рассчитанный, правда, на ширину окна 480 пикселов, перестанет быть таковым при просмотре в окне шириной 600 пикселов). Таким образом, сайт, созданный при помощи стандартных средств HTML, получается достаточно пассивным по отношению к пользователю и не отвечает в полной мере интерактивной концепции, в рамках которой он, вообще говоря, и создавался. Второй недостаток во многом переплетается с первым и состоит в отсутствии средств программирования. Ввиду этого недостатка HTML не имеет той гибкости, которую ожидают создатели современных Web-сайтов. Представим, что создатель сайта хочет, чтобы перед отображением документа была известна ширина текущего окна браузера. В зависимости от этой величины выбирается тот или иной дизайн страницы. Это легко сделать при помощи банального, известного еще со времен Бейсика и Паскаля, оператора ветвления (if - Then - Else). Так ведь HTML не имеет даже такого простого средства. Таким образом, в рамках чистого HTML мы не только не можем предоставить пользователю свою реальность, но и не можем даже подстроиться под реалии пользователя.

Естественно, с таким положением дел мириться нельзя. Было предложено несколько вариантов выхода из этой ситуации.

Первый подход — автоматическая генерация HTML-кода на стороне сервера и дальнейшая отправка его клиенту. Этот подход реализовывается благодаря технологиям CGI, ASP, SSI и др. Он позволяет в полной мере держать под контролем взаимодействие сайта с пользователем и решить тем самым многие из вышеописанных проблем. Однако, являясь очень мощными средствами Web-программирования, CGI, ASP, SSI имеют также несколько принципиальных недостатков.

Первый — недоступность широкому кругу Web-разработчиков. Как упоминалось выше, не каждая служба хостинга предоставляет своим клиентам возможность использовать собственные серверные скрипты. Второй недостаток — большая нагрузка на сервер, ведь реализация вышеуказанных технологий происходит путем исполнения соответствующих приложений на стороне сервера. Есть и другие недостатки, которые касаются каждой технологии в отдельности.

Второй подход — перенос исполнения серверных приложений на клиентскую сторону. В рамках этого подхода происходит загрузка исполняемого кода для машины пользователя по сети. Здесь мы сразу сталкиваемся с проблемой безопасности, поскольку исполняемый модуль является, по сути дела, "котом в мешке", и может содержать команды, выполняющие деструктивные действия, предотвратить исполнение которых довольно сложная проблема. Также приложения могут иметь очень большой (сотни килобайт) размер, что сказывается на времени их передачи по сети и возможности нарушения целостности данных ввиду сбоев связи или помех. Третье препятствие — многообразие аппаратно-программных платформ пользователей. Не факт, что у пользователя, загружающего ЕХЕ-файл стоит Windows-подобная операционная система. Вопросы совместимости, безопасности, объема данных и другие могут быть решены путем перехода от готовых компилированных приложений к интерпретируемым. Специальная программа-интерпретатор, находящаяся на стороне пользователя и управляемая браузером, принимает от сервера некий промежуточный код, анализирует его, в том числе и на наличие деструктивных операций, и либо исполняет его, либо компилирует его в настоящий исполняемый модуль. Данный подход был реализован в специальном Web-ориентированном языке Java, рожденном в недрах компании Sun Microsystems в 1995 году, а также в других подобных средствах, например, Macromedia Flash.

Дальнейшим шагом в этом направлении стал третий подход — отказ от промежуточного кода и передача пользователю непосредственно встроенных в HTML-страницу кусков программного кода — скриптов. Данные скрипты (их еще называют сценарии) интерпретируются и исполняются специальным модулем браузера. Скрипты не имеют той мощи, которая присуща серверным или клиентским приложениям, но, тем не менее, позволяют решать большинство задач по управлению отображением и загрузкой страниц сайта. Кроме того, для написания скриптов не нужно обладать какими-то специальными средствами для их разработки и отладки. Достаточно иметь, как и для написания HTML-кода, Блокнот (Notepad), а для проверки и исполнения обычный браузер.

В настоящее время наиболее широко используются два языка описания сценариев: JavaScript и VBScript. VBScript является детищем компании Microsoft и имеет в своей основе язык Visual Basic той же компании. VBScript похож на своего прародителя и синтаксически, и концептуально. Степень распространенности VBScript достаточно низка ввиду не слишком большой популярности Visual Basic, а также ограниченности среды его применения ареалом распространения продуктов компании Microsoft.

JavaScript является потомком вышеупоминавшегося языка Java компании Sun. Впервые он был реализован в браузерах Netscape 2.O. Однако быстро завоевал бешеную популярность и получил повсеместное распространение, особенно после "введения в эксплуатацию" Internet Explorer 3.0 с поддержкой JavaScript. Как и Java, JavaScript имеет синтаксис, подобный синтаксису языка C++, что во многом способствовало его популярности. Другим достоинством JavaScript, взятым от прародителя, является использование объектно-ориентированной концепции программирования. Правда, в отличие от Java, объектная модель спрятана достаточно глубоко, и Web-мастер, довольно долго использующий JavaScript, может и не догадываться о том, что он работает не просто с переменными, а с объектами. Тем не менее программа, написанная на языке описания сценариев, в процессе своего функционирования использует как свои объекты, так и объекты браузера, осуществляя при этом вызовы методов и обработку событий.

 

Основы JavaScript

На момент написания книги последней является версия JavaScript 1.3.

В данной главе мы не претендуем на теоретически скрупулезное изложение основ JavaScript. По данной теме написано некоторое количество неплохих книг. Поэтому упор будет сделан на аспекты практического применения этого языка.

 

Вставка в код страницы

Как говорилось выше, JavaScript представляет собой полностью интерпретируемый язык описания сценариев с программным кодом скрипта, поставляемым пользователю в открытом виде.

Как правило, скрипты вставляются непосредственно в тело HTML-документа при помощи специального тега <SCRIPT>...</SCRIPT>. Браузер анализирует содержимое, находящееся между этими тегами и для исполнения сценария приводит в действие тот или иной интерпретатор. Тем не менее, для устранения возможных разночтений и коллизий есть возможность указывать язык и его версию непосредственно в теле тега скрипта:

<SCRIPT language JavaScript 1.1>... </SCRIPT>.

Альтернативным и во многих случаях полезным вариантом является размещение скриптов в отдельных файлах. Этот подход наиболее приемлем при использовании скриптов довольно большого объема, а также для хранения служебных процедур. Если мы храним наш скрипт в файле с именем filel.js, то включить его в код страницы мы можем следующим способом: <SCRIPT src="filei. JS"X/SCRIPT>. В этом случае между тегами описания скрипта ничего вставлять не нужно — необходимый код находится ведь в файле filel.js. Ничто не мешает нам указывать название языка и его версию в теге описания скрипта и в этом случае.

Если же браузер пользователя не имеет средств работы со скриптами, то полезно использовать тег <NOSCRIPT>...</NOSCRIPT> для вывода соответствующего этому случаю варианта содержимого страницы.

В листинге 8.1 приведем пример,HTML-страницы с использованием различных вариантов включения скриптов.

Листинг 8.1. Использование скриптов в теле HTML-документа

<HTML>

<HEAD>

<! - - - Здесь данные заголовка --->

</HEAD>

<BODY>

<!---HTML-код --->

<SCRIPT>

// Код скрипта

</SCRIPT>

<!--- HTML-код--->

<SCRIPT language VBScript>

// Код скрипта на языке VBScript

</SCRIPT>

<!---HTML-код-->

<SCRIPT language JavaScript 1.3 >

// Код скрипта на языке JavaScript

</SCRIPT>

<!---HTML-код--->

<!--- Подключаем скрипт из внешнего файла--->

<SCRIPT src="script-l.js" language JavaScript 1.1 >

</SCRIPT>

<!---А если браузер не знает о скриптах? -->

<NOSCRIPT>

<CENTER> <H1>

!!! Ваш браузер не имеет поддержки скриптов. Советуем обзавестись новым

программным обеспечением!!!

</Н1>

</CENTER>

</NOSCRIPT>

</BODY>

</HTML>




Поделиться с друзьями:


Дата добавления: 2014-12-29; Просмотров: 1798; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.027 сек.