русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Способ 3: подстановки


Дата добавления: 2013-12-23; просмотров: 492; Нарушение авторских прав


Способ 2: обработчики событий

Такие программы, как обработчики событий, указываются в атрибутах контейнеров, с которыми эти события связаны. Например, при нажатии на кнопку происходит событие Click и соответственно вызывается обработчик этого событияonClick:

<FORM><INPUT TYPE=button VALUE="Кнопка" onClick="alert('Вы нажали кнопку');"></FORM>

А в момент завершения полной загрузки документа (он связан с контейнером<BODY> ) происходит событие Load и, соответственно, будет вызван обработчик этого события onLoad:

<BODY onLoad="alert('Приветствуем!');">...</BODY>

Подстановки (entity) поддерживаются только браузером Netscape Navigator 4.0. Они встречаются на Web-страницах довольно редко. Тем не менее это достаточно мощный инструмент генерации HTML-страницы на стороне браузера. Подстановки имеют формат: &{код_программы}; и используются в качестве значений атрибутов HTML-контейнеров. В следующем примере поле ввода INPUT будет иметь, в качестве значения по умолчанию, адрес текущей страницы, а размер поля будет равным количеству символов в этом адресе.

<HTML><HEAD><SCRIPT>function l(){ str = window.location.href; return(str.length);}</SCRIPT></HEAD><BODY><FORM><INPUT TYPE=text SIZE="&{l()};" VALUE="&{window.location.href};"></FORM></BODY></HTML>

В случае подстановки JavaScript-интерпретатор получает управление в момент разбора браузером (компонент парсер ) HTML-документа. Как только парсер встречает конструкцию &{..}; у атрибута контейнера, он передает управление JavaScript-интерпретатору, который, в свою очередь, после исполнения кода это управление возвращает парсеру. Таким образом, данная операция аналогична подкачке графики на HTML-страницу.



Очевидно, что размещать в заголовке документа генерацию текста страницы бессмысленно - он не будет отображен браузером. Поэтому в заголовок помещают декларации общих переменных и функций, которые будут затем использоваться в теле документа. При этом браузер Netscape Navigator более требовательный, чем Internet Explorer. Если не разместить описание функции в заголовке, то при ее вызове в теле документа можно получить сообщение о том, что данная функция не определена.

В Internet Explorer подстановки не поддерживаются, поэтому пользоваться ими следует аккуратно. Прежде чем выдать браузеру страницу с подстановками, нужно проверить тип этого браузера. Альтернативой подстановкам в Internet Explorer можно считать динамические свойства стиля. Например, следующий фрагмент создаст поле ввода, ширина которого в пикселях ( px ) равна количеству символов в адресе страницы, умноженному на 10:

<INPUT TYPE=text style="width:expression(10*location.href.length+'px')">

Мы не будем подробно останавливаться на этом способе использования JavaScript-кода.

Способ 4: вставка (контейнер <SCRIPT>)

Контейнер SCRIPT - это развитие подстановок до возможности генерации текста документа JavaScript-кодом. В этом смысле применение SCRIPT аналогично Server Side Includes, т.е. генерации страниц документов на стороне сервера. Однако здесь мы забежали чуть вперед. При разборе документа HTML-парсер передает управление JavaScript-интерпретатору после того, как встретит тег начала контейнера <SCRIPT>. Интерпретатор получает на исполнение весь фрагмент кода внутри контейнераSCRIPT и возвращает управление HTML-парсеру для обработки текста страницы после тега конца контейнера </SCRIPT>.

Помещать JavaScript-код на HTML-странице с помощью контейнера <SCRIPT>можно двумя способами. Первый состоит в написании текста кода непосредственно внутри этого контейнера:

<SCRIPT> a = 5;</SCRIPT>

Второй способ состоит в том, чтобы вынести код JavaScript в отдельный файл, например, myscript.js (расширение может быть любым), и затем включить его в HTML-страницу следующим образом:

<SCRIPT SRC="myscript.js"></SCRIPT>

Этот способ удобен, когда один и тот же скрипт планируется использовать на разных HTML-страницах. Обратите внимание, что при наличии атрибута SRCсодержимое контейнера <SCRIPT> пусто, и это не случайно: согласно спецификации HTML, если скрипт подключается из внешнего файла, то скрипт, написанный между тэгами <SCRIPT> и </SCRIPT>, если таковой имеется, будет проигнорирован браузером.

Здесь уместно небольшое замечание, которое позволит Вам избежать одной ошибки начинающих программистов. Между тэгами <SCRIPT> и </SCRIPT> не должно встречаться последовательности символов </SCRIPT> в любом контексте. Например, следующий пример работать не будет:

<SCRIPT>alert('</script>');</SCRIPT>

Дело в том, что специфика разбора HTML-документа браузером такова, что он сначала определяет границы скрипта, а потом уже передает его интерпретатору JavaScript. В нашем случае браузер посчитает, что код скрипта завершился на первой же встретившейся ему последовательности символов " </script> ", т.е. не на той, на которой было нужно нам. Чтобы пример заработал, достаточно, например, написать alert('<\/script>') (т.к. комбинация " \/ " выводит на экран символ " / "), либо разбить строчку на две: alert('</scr'+'ipt>').

Контейнер SCRIPT выполняет две основные функции:

  • размещение кода внутри HTML-документа;
  • условная генерация HTML-разметки на стороне браузера.

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



<== предыдущая лекция | следующая лекция ==>
Размещение кода JavaScript на HTML-странице | Комментарии в HTML и JavaScript


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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