колонтитул в word 2007, 0000002111
Обработчики событий к JavaScriptТакие программы, как обработчики событий (handler), указываются в атрибутах контейнеров, с которыми эти события связаны. Например, при нажатии на кнопку происходит событие click:<FORM><INPUT TYPE=button VALUE="Кнопка"
onClick="window.alert('intuit');"></FORM> 2. ПодстановкиПодстановка (entity) встречается на Web-страницах довольно редко. Тем не менее это достаточно мощный инструмент генерации HTML-страницы на стороне браузера. Подстановки используются в качестве значений атрибутов HTML- контейнеров. Например как значение по умолчанию поля формы, определяющего домашнюю страницу пользователя, будет указан URL текущей страницы:<SCRIPT> function l() { str = window.location.href; return(str.length); } </SCRIPT> <FORM><INPUT VALUE="&{window.location.href};" SIZE="&{l()};"> </FORM> <SCRIPT> <!-- Это комментарий ...JavaScript-код...// --> </SCRIPT> <BODY> ... Тело документа ... </BODY> </HTML> 3. Вставка (контейнер SCRIPT – принудительный вызов интерпретатора)Контейнер SCRIPT – это развитие подстановок до возможности генерации текста документа JavaScript-кодом. В этом смысле применение SCRIPT аналогично Server Side Includes, т.е. генерации страниц документов на стороне сервера.Однако здесь мы забежали чуть вперед. При разборе документа HTML-парсер передает управление интерпретатору после того, как встретит тег начала контейнера SCRIPT. Интерпретатор получает на исполнение весь фрагмент кода внутри контейнера SCRIPT и возвращает управление HTML-парсеру для обработки текста страницы после тега конца контейнера SCRIPT. Контейнер SCRIPT выполняет две основные функции:
Размещение кода внутри 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> <h2>Часы в строке статуса</h2> <FORM> <INPUT TYPE=button VALUE="Закрыть окно" onClick=window.close()> </FORM> </CENTER> </BODY> </HTML> В качестве примера декларации переменной рассмотрим изменение статуса окна- потомка из окна-предка: Создадим дочернее окно с помощью следующей функции, продекларировав ее, а затем и вызвав: 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("<h2>Change text into child window.</h2>"); 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 должна быть определена за пределами каких-либо функций, что и сделано. В этом случае она становится свойством окна. Если мы поместим ее внутри функции открытия дочернего окна, то не сможем к ней обратиться из обработчика события click. Иерархия классовОбъектно-ориентированный язык программирования предполагает наличие иерархии классов объектов. В JavaScript такая иерархия начинается с класса объектов Window, т.е. каждый объект приписан к тому или иному окну. Для обращения к любому объекту или его свойству указывают полное или частичное имя этого объекта или свойства объекта, начиная с имени объекта старшего в иерархии, в который входит данный объект:Сразу оговоримся, что приведенная нами схема объектной модели верна для Netscape Navigator версии 4 и выше, а также для Microsoft Internet Explorer версии 4 и выше. Еще раз отметим, что объектные модели у Internet Explorer и Netscape Navigator совершенно разные, а приведенная схема составлена на основе их общей части. Вообще говоря, JavaScript не является классическим объектным языком (его еще называют облегченным объектным языком). В нем нет наследования и полиморфизма. Программист может определить собственный класс объектов через оператор function, но чаще пользуется стандартными объектами, их конструкторами и вообще не применяет деструкторы классов. Это объясняется тем, что область действия JavaScript-программы обычно не распространяется за пределы текущего окна. Иногда у разных объектов JavaScript бывают определены свойства с одинаковыми именами. В этом случае нужно четко указывать, свойство какого объекта программист хочет использовать. Например, Window и Document имеют свойство location. Только для Window это объект класса Location, а для Document – строковый литерал, который принимает в качестве значения URL загруженного документа. Следует также учитывать, что для многих объектов существуют стандартные методы преобразования значений свойств объектов в обычные переменные. Например, для всех объектов по умолчанию определен метод преобразования в строку символов: toString(). В примере с location, если обратиться к window.location в строковом контексте, будет выполнено преобразование по умолчанию, и программист этого не заметит: <SCRIPT> document.write(window.location); document.write("<BR>"); document.write(document.location); </SCRIPT> Однако разница все-таки есть, и довольно существенная. В том же примере получим длины строковых констант: <SCRIPT> w=toString(window.location); d=toString(document.location); h=window.location.href; document.write(w.length); document.write(d.length); document.write(h.length); </SCRIPT> Как легко убедиться, при обращении к свойству объекта типа URL, а свойство location как раз является объектом данного типа, длина строки символов после преобразования будет другой. Класс объектов Window — это самый старший класс в иерархии объектов JavaScript. К нему относятся объект Window и объект Frame. Объект Window ассоциируется с окном программы-браузера, а объект Frame — с окнами внутри окна браузера, которые порождаются последним при использовании автором HTML-страниц контейнеров FRAMESET и FRAME. колонтитулы в word 2007, 000000211111
Рекомендуем в повседневной деятельности:
|