к банкам данных Интернет   к оглавлению   к алгоритмизации и языкам   к высокоуровневым языкам   к визуальным средам

Объекты Навигатора

Использование объектов Навигатора

Когда Вы загружаете страницу в Навигаторе, это создает ряд объектов, соответствующих странице, ее содержание, и другая подобная информация.

Каждая страница всегда имеет следующие объекты:

Свойства объекта документа в значительной степени - зависимы. То есть они являются главнымии в содержании, которое вы помещаете в документ. Например, объект документа имеет свойства для каждой формы и для каждого якоря в документе.

Например вы создали страницу под именем simple.html, которая содержит следующее:

<TITLE> Простой Документ</TITLE> <BODY> <FORM NAME="myform" ACTION="FormProc()" METHOD="get" > Выбери значение: <INPUT TYPE=text NAME="text1" VALUE="blahblah" SIZE=20 > Проверьте, хотите ли Вы: <INPUT TYPE="checkbox" NAME="Check1" CHECKED оnClick="update(this.form)"> Опция #1 <P> <INPUT TYPE="button" NAME="Button1" VALUE="Нажмите здесь" onClick="update(this.form)"> </FORM> </BODY>

Как всегда, имелось бы окно, локализация, хронология, и бъект документа. Они имели бы следующие свойства:

Это только некоторые основные значения приведенного примера. Навигатор также создал бы следующие объекты:

Они имели бы такие свойства:

Каждая из свойств выше перечисленных начинается с Document, затем сопровождаемым именем формы, myfor, и потом название свойства или название элемента формы. Эта последовательность следует иерархии объекта Навигатора, расказанная в следующем разделе.

Иерархия объектов

Среди объектов существуют определенные взаимоотношения. Например, объекты Navigator имеют структуру, отражающую структуру страницы HTML. Такие отношения называются иерархией экземпляров, так как эта иерархия работает только с конкретными экземлярами объектов, а не с абстрактными классими.

Объект window является родительским по отношению ко всем остальным объектам Navigator. Прямыми потомками объекта window являются объекты location, history и document. Объекты forms, links и anchors являются дочернеми для объекта document.

Каждый объект является потомком объекта более высокого уровня. Форма с названием orderForm является объектом и в то же время свойстом обекта document. Таким образом для вызова такой формы используется выражение:

document.orderForm

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

В терминах объектов JavaScript эти взаимоотношения могли бы быть выражены следующим образом:

travelMode.groundTransport.bicycle.handleBars

Наиболее общий объек высшего уровня находится слева в выражении, и слева направо происходит переход к более частным объектам, являющимся при этом наследниками высших в иерархии объектов. Таким образом чтобы обратиться к определенному свойству этих объектов, вы должны определить имя объекта и всех его предков.

Теперь проиллюстрируем иерархию объектов:

navigator window | +--parent, frames, self, top | +--location | +--history | +--document | +--forms | | | elements (text fields, textarea, checkbox, password | radio, select, button, submit, reset) +--links | +--anchors

JavaScript и HTML Планировка

Чтобы использовать JavaScript корректно в Навигаторе, нужно понимать как Навигатор выполняет планировку. Планировка относится к преобразованию директив открытого HTML текста в графическое представление на вашем компьютере. Вообще говоря, планировка идет последовательно в Навигаторе. То есть Навигатор начинает с вершины HTML файла и продолжает идти вниз, выясняя, как выводить на экрану, как это делать. Это начинается с HEAD HTML документа, затем c вершины BODY и так далее.

Из-за этого "нисходящего" поведения, JavaScript выдает только тот HTML, с которым она столкнулась. Например вы определили форму с парой текстового вклада elements:

<FORM NAME="statform"> <input type = "text" name = "username" size = 20> <input type = "text" name = "userage" size = 3>

Затем эти элементы формы будут отражены, так как объекты JavaScript document.statform.username и document.statform.userage, которые вы можете использовать где-нибудь после того, как форма определена. Однако, вы могли бы не использовать эти объекты прежде, чем форма определена. Так, например, вы могли показывать значение этих объектов в скрипте после определения формы:

<SCRIPT> document.write(document.statform.username.value) document.write(document.statform.userage.value) </SCRIPT>

Однако, если Вы пробовали делать это перед определением формы (то есть выше этого в HTML - странице),то вы можете получить ошибку, так как объекты еще не существуют в Навигаторе.

Аналогично, если только произошла планировка, установившая значение свойства, не воздействует на ее значение или ее вид. Например, вы определили заголовок документа следующим образом:

<TITLE> Моя JavaScript Страница</TITLE>

Это отражается в JavaScript как значение document.title. Если только Навигатор выделил это в планировке (в этом случае, в названии окна Навигатора), Вы не можете изменять значение в JavaScript. Так, если ниже в странице, у вас есть следующий скрипт:

 
  Document.title = " Новая улучшенная JavaScript страница "

Это не будет изменять значение document.title, не будет воздействовать на вид страницы, и не образуется ошибка.

Ключевые объекты Навигатора

Часть из наиболее используемых в Навигаторе обектов, включает документ, форму, и окно.

Использование объекта документ

Один из наиболее используемых в Навигаторе объект - это объект документа, потому что методы write и writeln могут вызвать HTML. Эти методы - это способ, которым Вы показываете утверждения JavaScript пользователю. Единственая разность между write и writeln - это то, что write записывает строку или несколько строк в окно документа, а writeln записывает строку или несколько строк в окно документа и добавляет символ новой строки в конец вывода. Но так как HTML игнорирует добавления символа новой строки, то это будет создавать эффект предварительно отформатированного текста, типа тега PRE.

Объект документа также имеет обработчики событий onLoad и onUnload, они вызываются соответственно для выполнения функции, когда пользователь впервые загрузил страницу и когда пользователь выходит из страницы.

Имеется только один объект документа в странице, это - предок для всей формы, связь и объекты якоря в странице. <

Использование Объекта формы

Навигатор создает объект формы для каждой формы в документе. Вы можете называть форму в атрибуте NAME, как показано в примере:

<FORM NAME="myform"> <INPUT TYPE="text" NAME="quantity" onChange="..."> ... </FORM>

Если был бы объект JavaScript, с именем myform основанный на этой форме. Форма имела бы свойства, соответствующие текстовому объекту, к которому Вы обратитесь как

Document.myform.quantity Вы обратились бы к свойству значения этого объекта как Document.myform.quantity.value

Формы в документе сохранены в массиве, названный form. Первая (самая верхняя в странице) форма, как form[0], вторая, как form[1], и так далее. Так что вышеупомянутые ссылки могли выглядеть так:

Document.forms [0] .quantity document.forms [0] .quantity.value .

Аналогично, элементы в форме, типа текстовых полей, кнопок, и так далее, сохранены в массиве elements.

Использование объекта окна

Объект окна - это "родительский" объект для всех других объектов в Навигаторе. Вы можете всегда упустить имя объекта по отношению к свойствам окна и методов.

Окно имеет несколько очень полезных методов, которые создают новые окна и всплывающие диалоговые окна:

Объект окна имеет свойства во всех фреймах в FRAMESET. Фреймы сохранены в массиве фреймов. Массив фреймов содержит вход для каждого дочернего фрейма в окне. Например, если окно содержит три дочерних фрейма, то эти фреймы отражены как window.frames [0], window.frames [1], и window.frames [2].

Свойства состояния открыты для вас, чтобы вы могли установить сообщение в строке состояния внизу клиенского окна.

к банкам данных Интернет   к оглавлению   к алгоритмизации и языкам   к высокоуровневым языкам   к визуальным средам
Знаете ли Вы, что, как ни тужатся релятивисты, CMB (космическое микроволновое излучение) - прямое доказательство существования эфира, системы абсолютного отсчета в космосе, и, следовательно, опровержение Пуанкаре-эйнштейновского релятивизма, утверждающего, что все ИСО равноправны, а эфира нет. Это фоновое излучение пространства имеет свою абсолютную систему отсчета, а значит никакого релятивизма быть не может. Подробнее читайте в FAQ по эфирной физике.

Последнее обновление: понедельник 23 декабря 2024 г.
Bourabai Research Institution home page

Bourabai Research - Технологии XXI века Bourabai Research Institution БОРОВСКОЕ ИССЛЕДОВАТЕЛЬСКОЕ УЧРЕЖДЕНИЕ - Технологии XXI века