Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Объект window




Массивы

Объекты Java Script

Тип Array введен в JavaScript 1.1 для возможности манипулирования самыми разными объектами, которые отображаются браузером (гипертекстовыми ссылками, рисунками и апплетами данного документа, элементами формы и т.п). Пользователь может создать и свой собственный массив, используя конструктор Array(). Делается это следующим образом:

new_array = new Array();

new_array5 = new Array(5);

colors = new Array ("red","white","blue");

Размерность массива может динамически изменяться. Можно сначала определить массив, а потом присвоить одному из его элементов значение. Как только это значение будет присвоено, изменится и размерность массива:

colors = new Array();

colors[5] = "red";

В данном случае массив будет состоять из шести элементов, так как первым элементом массива считается элемент с индексом 0.

У массивов есть свойство Length, которое определяет число элементов массива. Если нужно выполнить некоторую рутинную операцию над всеми элементами массива, то можно воспользоваться циклом типа

color = new Array("red","white","blue")

n = 0

while(n!= colors.length)

{.... операторы тела цикла...}

Для массивов определены три метода:

Join([delim]) - объединяет элементы массива в строку символов, в качестве аргумента в этом методе задается разделитель. Если разделитель не задан, используется пробел:

colors = new Array("red","white","blue");

string = colors.join("+");

В результате выполнения присваивания значения строке символов string мы получим следующую строку: "red + white + blue".

reverse() изменяет порядок элементов массива на обратный.

sort([cmp]) отсортировывает их в порядке возрастания. Если аргумент не задан, сортировка выполняется по алфавиту. В противном случае cmp задает функцию, которая выполняет сравнение двух элементов. У функции два аргумента. Возвращаемое значение меньше 0, если значение первого аргумента меньше, равно 0, если оба значения равны и больше 0, если первый аргумент больше второго.

Чаще всего в программе на JavaScript используются встроенные массивы, например графические образы (Images[]) и гипертекстовые ссылки (Links[]).

Окно браузера. Объект window является объектом верхнего уровня в клиентской иерархии JavaScript. Многие свойства объекта являются ссылками на другие важные объекты JavaScript (например, navigator, document, location и history). Объекты frame также являются окнами.

Свойства self и window являются синонимами для текущего окна, и вы можете использовать их для ссылки на текущее окно. Например, можно закрыть текущее окно, используя window.close() или self.close(). Вы можете использовать эти свойства, например, для однозначного определения свойства self.status из формы с именем status.

Свойства top и parent также являются объектами window: top ссылается на самое верхнее окно браузера, а parent ссылается на окно, содержащее frameset. Вам не нужно ссылаться на имя окна, когда вы вызываете методы или назначаете свойства текущего окна. Например, status="Jump to a new location" является допустимым назначением свойства и аналогично window.status="Jump to a new location". Однако, когда вы открываете или закрываете окно внутри обработчика события, вы должны указать window.open() или window.close() вместо того, чтобы использовать просто open() или close(). Вызов close() без определения имени объекта равносильно document.close().

Вы можете ссылаться на фреймы окна, используя массив frames. Массив frames содержит запись для каждого фрейма в окне с тегом <FRAMESET>.

У окон не определены обработчики событий, пока в них не загружен некоторый HTML-документ, содержащий теги <BODY> или <FRAMESET>.

Для создания нового окна используется метод open (см. с. 25).

Свойства:

• name - имя окна, отражает аргумент windowName функции open();

• navigator - ссылка на объект Navigator (браузер);

• history - ссылка на объект History (история посещений);

• status - определяет текущее сообщение строки состояния окна;

• defaultStatus - отражает сообщение по умолчанию, отображаемое в строке состояния окна;

• closed - определяет, закрыто ли окно. Readonly;

 

• frames[] - массив, содержащий все фреймы окна;

• frames.length - количество фреймов в родительском окне;

• length - количество фреймов в родительском окне, то же, что и frames.length;

 

• parent - ссылается на окно, содержащее frameset. Если нет фреймов, то равно self;

• self - ссылается на текущее окно;

• top - ссылается на самое верхнее окно Navigatorа. Если нет фреймов, то равно self;

• opener - ссылается на окно, из которого было открыто текущее окно. Readonly;

 

• document - открытый в окне документ;

• location - адрес открытого в окне документа;

• java - ссылка на объект JavaPackage, являющийся верхним в иерархии имен для базовых пакетов java.*;

• packages - ссылка на объект JavaPackage, являющийся верхним в иерархии пакетов java;

• netscape - ссылка на объект JavaPackage, являющийся верхним в иерархии имен для базовых пакетов netscape.*;

• sun - ссылка на объект JavaPackage, являющийся верхним в иерархии имен для базовых пакетов sun.*.

 

Методы:

• alert ("message ") - отображает диалоговое окно Alert с сообщением и кнопкой OK;

• confirm("message") - отображает диалоговое окно с указанным сообщением и кнопками OK и Cancel. Метод confirm используется для принятия пользователем решения, требующего выбора OK или Cancel. Метод confirm возвращает true, если пользователь выбрал OK, и false, если пользователь выбрал Cancel;

• prompt(message, ["inputDefault"]) - отображает диалоговое окно с сообщением и полем ввода. message - любая строка или свойство существующего объекта; строка отображается как сообщение. inputDefault строка, целое число или свойство существующего объекта, представляющая собой значение, вводимое в поле по умолчанию.

Метод prompt используется для отображения диалогового окна, требующего ввода текста пользователем. Если вы не определяете первоначальное значение для inputDefault, то диалоговое окно отображает значение <undefined>;

 

• open("URL", "windowName" [,"windowFeatures"]) - метод open открывает новое окно web-браузера клиента, что равносильно выбору New->WebBrowser из меню File. В об­ра­бот­чи­ках событий вы должны указывать window.open() вместо обычно используемого open(). Объявление open() без определения имени объекта равносильно document.open(). Обычно функция вызывается так:

windowVar=window.open("URL" [,"Name"] [,"Features"]);

windowVar - эта переменная (объект window) используется при ссылках на свойства, методы и контейнеры окна;

URL - определяет URL документа, открываемого в новом окне. Если URL="", будет открыто пустое окно;

windowName - имя окна, используемое в атрибуте TARGET тегов <FORM> или <A>. windowName может содержать только буквенно-цифровые символы или символ подчеркивания (_);

windowFeatures - является необязательным списком перечисленных через запятую опций для нового окна. Булевы опции windowFeatures принимают значение true, если они определены без значений, или как yes или 1. Например, open("", "messageWindow", "toolbar") и open("", "messageWindow", "toolbar=1") - опция toolbar принимает значение true. Если windowName не определяет существующего окна и вы не указываете windowFeatures, то все булевы опции windowFeatures принимают по умолчанию значение true. Если вы определяете любую из опций windowFeatures, то все остальные опции принимают значение false, если вы их не определите дополнительно. Вы можете использовать любой набор этих опций. Опции разделяются запятой. Не делайте пробелов между опциями. Определены такие опции:

- toolbar создает стандартные рабочие инструменты браузера, с такими кнопками как "Back" и "Forward";

- location создает поле ввода Location;

- directories создает кнопки стандартных директорий Navigator'а, такие как "What's New" и "What's Cool";

- status создает строку состояния внизу окна;

- menubar создает меню вверху окна;

- scrollbars создает горизонтальную и вертикальную прокрутки, когда документ больше, чем размер окна;

- resizable позволяет пользователю изменять размер окна;

- height определяет высоту окна в пикселях;

- width определяет ширину окна в пикселях.

Примеры вызова функции open():

window.open("2.htm") - загружает документ "2.htm" в текущее окно;

new=window.open("2.htm",_new) - создает новое стандартное окно браузера с именем _new и открывает в нем документ "2.htm";

new=window.open("2.htm",_new,"scrollbars=1,height=400,width="300") - создает новое окно браузера размером 400х300 пикселов с полосами прокрутки и без остальных управляющих элементов, с именем _new и открывает в нем документ "2.htm";

 

• close() - метод close закрывает указанное окно. Если вы объявляете close без указания windowReference, то JavaScript закрывает текущее окно. В обработчиках событий вы должны указывать window.close() вместо обычно используемого close(). Объявление close() без определения имени объекта равносильно document.close();

 

• focus() - переводит фокус на окно. В большинстве браузеров переводит окно на передний план;

• blur() - убирает фокус с окна. В большинстве браузеров переводит окно на задний план;

• scroll(x,y) - прокрутка документа в окне таким образом чтобы заданные координаты (x,y) оказались в левом верхнем углу;

 

• timeoutID=setTimeout(expression, msec);

Метод setTimeout выполняет выражение expression после установленного количества времени. Он не выполняет выражение многократно. Например, если метод setTimeout установлен на 5 с, то выражение выполнится через 5 с, но не каждые 5 с.

timeoutID - идентификатор, который используется только для окончания выполнения, используя метод clearTimeout;

expression - строковое выражение или свойство существующего объекта. Обычно это вызов какой-нибудь функции JavaScript;

msec - числовое значение, числовой ряд или свойство существующего объекта в миллисекундах.

Пример: setTimeout("alert('Сообщение')", 5000) - вызов функции alert через 5000 миллисекунд (т.е. 5 с.);

• clearTimeout(timeoutID) - сброс задержки, установленной методом setTimeout.

timeoutID - идентификатор, который был возвращен предыдущим вызовом метода setTimeout.

События:

• onLoad - открытие окна;

• onUnload - закрытие окна;

• onBlur - вызывается, когда окно теряет фокус;

• onFocus - вызывается, когда окно получает фокус;

• onError - вызывается, когда происходит ошибка JavaScript. В отличие от других обработчиков, определяется не в теге HTML, а явно:

имяОкна.onError = обработчик;

Обработчик вызывается браузером с параметрами:

onError(message,URL,pos), где message - сообщение; URL- URL документа, при обработке которого произошла ошибка; pos - строка документа, при интерпретации которого произошла ошибка. Чтобы отменить обработку ошибок, необходимо задать имяОкна.onerror = null.

Для определения событий для объекта window используются теги <BODY> или <FRAMESET>:

<BODY... [onLoad="handlerText"] [onUnload="handlerText"]>

<FRAMESET ROWS="rowHeiList" COLS="colWidList"

[onLoad="handlerText"] [onUnload="handlerText"]>

Информацию о тегах <FRAMESET> и <BODY> смотрите в объектах document и frame.




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 363; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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