Введение в JavaScript

       

Размещение кода внутри HTML-документа


Собственно, особенного разнообразия здесь нет. Код можно разместить либо в заголовке документа, внутри контейнера HEAD, либо внутри BODY. Последний способ и его особенности будут рассмотрены в разделе "Условная генерация HTML-разметки на стороне браузера". Поэтому обратимся к заголовку документа.

Код в заголовке размещается внутри контейнера SCRIPT:

<HTML> <HEAD> <SCRIPT> function time_scroll() { d = new Date(); window.status = d.getHours()+":"+d.getMinutes()+":"+d.getSeconds(); setTimeout('time_scroll();',500); } </SCRIPT> </HEAD> <BODY onLoad=time_scroll()> <CENTER> <H1>Часы в строке статуса</H1> <FORM> <INPUT TYPE=button VALUE="Закрыть окно" onClick=window.close()> </FORM> </CENTER> </BODY> </HTML>

В этом примере мы декларировали функцию time_scroll() в заголовке документа, а потом вызвали ее как обработчик события load в теге начала контейнера BODY (onLoad=time_scroll()) .

В качестве примера декларации переменной рассмотрим изменение статуса окна-потомка из окна-предка:

Создадим дочернее окно с помощью следующей функции, продекларировав ее, а затем и вызвав:

function sel() { id = window.open("","example","width=500,height=200,status,menu"); id.focus(); id.document.open(); id.document.write("<HTML><HEAD>"); id.document.write("<BODY>"); id.document.write("<CENTER>"); id.document.write("<H1>Change text into child window.</H1>"); id.document.write("<FORM NAME=f>"); id.document.write("<INPUT TYPE=text NAME=t SIZE=20 MAXLENGTH=20 VALUE='This is the test'>"); id.document.write("<INPUT TYPE=button VALUE='Close the window' onClick=window.close()></FORM>"); id.document.write("</CENTER>"); id.document.write("</BODY></HTML>"); id.document.close(); } <INPUT TYPE=button VALUE="Изменить поле статуса в окне примера" onClick="id.defaultStatus='Привет'; id.focus();">

Открывая окно-потомок, мы поместили в переменную id указатель на объект окно id=window.open(). Теперь мы можем использовать ее как идентификатор объекта класса Window. Использование id.focus() в нашем случае обязательно. При нажатии на кнопку "Изменить поле статуса в окне примера" происходит передача фокуса в родительское окно. Оно может иметь размер экрана. При этом изменения будут происходить в окне-потомке, которое будет скрыто родительским окном. Для того чтобы увидеть изменения, надо передать фокус. Переменная id должна быть определена за пределами каких-либо функций, что и сделано. В этом случае она становится свойством окна. Если мы поместим ее внутри функции открытия дочернего окна, то не сможем к ней обратиться из обработчика события click.



Содержание раздела