2.10. Встраивание в HTML-документ

Для встраивания скриптов в тело HTML-документа используется контейнер SCRIPT. Не все программы просмотра способны распознавать и исполнять скрипты, поэтому само тело скрипта помещается в контейнер комментария. Для определенности рассмотрим небольшой пример:

Пример 2.2

	<HTML>
	<!--
	Author:	Pavel Khramtsov
	Date:	March 5, 1996
	-->
	<HEAD>
	<TITLE>Registration</TITLE>
	<SCRIPT LANGUAGE="JavaScript">
	<!-- The JavaScript Functions Definition
	function help_win()
	            {
	Help = window.open("reg_help.htm","Help","scrollbars=yes,resizable=yes")
	            }
	function main_menu()
	            {
	             Main_menu = window.open("main_m.htm","Main_menu")
	            }
	// The end of JavaScript Functions Definition -->
	</SCRIPT>
	</HEAD>
	<BODY>
	<CENTER>
	<TABLE>
	<TR><TH><IMG 	SRC="radleg3.gif"></TH><TH><H2>ISTC.
	Project	RADLEG(#245)</H2>
	RRC "Kurchatov Institute"<BR>
	<I>Dec, 25, 1995</I>
	</TH></TR>
	</TABLE>
	</CENTER>
	<HR>
	<CENTER>
	<h2>Registration Form</h2>
	<hr>
	......
	Текст страницы.
	.....
	<hr>
	<FORM NAME=help_call>
	<TABLE BORDER=0>
	<TR>
	<TD><INPUT NAME=next TYPE=button VALUE=Next onClick="main_menu()"></TD>
	<TD><INPUT NAME=help TYPE=button VALUE=Help onClick="help_win()"></TD>
	</TR>
	</TABLE>
	</FORM>
	<hr>
	</CENTER>
	</BODY>
	</HTML>

В данном примере в заголовок документа (контейнер HEAD) включен контейнер SCRIPT. До недавнего времени атрибут LANGUAGE в этом контейнере не являлся обязательным. Но с момента появления VBSCRIPT смысл в указании типа языка появился - Navigator не понимает скриптов на других языках. Отсутствие атрибута может привести к ошибкам при отображении гипертекстовых страниц.

Далее в тексте страницы определен комментарий, в который включен текст скрипта. Начинается комментарий со строки:

	<!-- The JavaScript Functions Definition
и кончается строкой:
	// The end of JavaScript Functions Definition -->

Внутри контейнера скрипта определены две функции пользователя: help_win() и main_menu(). Смысл этих функций достаточно прозрачен. Help_win() предназначена для организации контекстно зависимого help, а main_menu() осуществляет допуск пользователя к главному меню Website. Обе функции используют один и тот же метод open (встроенную в JavaScript функцию, которая определена над объектом window) для того, чтобы открыть новое окно Netscape Navigator и загрузить в него гипертекстовые документы. При этом функция main_menu порождает стандартное окно (с кнопочками, иконками и т.п.), а функция help_win() окно без стандартных атрибутов. У этого окна имеются только линейки прокрутки (scroll bars).

Вызов функций осуществляется после нажатия на соответствующую кнопку, которые определены в HTML-форме help_call. Таким образом выполнение функций будет осуществлено только в том случае, если произойдет событие, описанное атрибутом onClick в контейнере INPUT соответствующего поля формы.

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

Назад | Содержание | Вперед