Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основи мови JavaScript.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.04 Mб
Скачать

2.3.2. Методи об'єкта window

Серед методів, визначених в об'єкті window, необхідно відзначити методи, призначені для відкриття нових вікон і закриття існуючих, для відображення на екрані найпростіших діалогових панелей із повідомленнями і методи для установки таймера:

Метод Опис

alert Відображення діалогової панелі Alert із повідомленням і кнопкою ОК

close Закриття вікна

confirm Відображення діалогової панелі Confirm із кнопками ОК і Cancel

open Відкриття вікна

prompt Відображення діалогової панелі Prompt із полемо запровадження

setTimeout Установка таймера

clearTimeout Скидання таймера

Метод alert

Метод alert уже використовувався в гл. 1 у поділі з назвою "Варіація п'ята: із діалоговою панеллю" для висновка на екран найпростішої діалогової панелі, що відображає привітальне повідомлення. Застосування деяких інших методів і властивостей об'єкта window буде проілюстровано нижче на прикладах складених нами сценаріїв JavaScript.

Формат виклику методу alert:

alert("Повідомлення");

Через єдиний параметр методу alert передається повідомлення, відображуване в діалоговій панелі.

Після виклику цього методу виконання сценарію (функції) затримується доти, поки користувач не натисне кнопку ОК, розташовану в діалоговій панелі з повідомленням.

При виклику методу alert не вказується об'єкт, для якого визивається метод, - об'єкт window. Якщо при виклику методу об'єкт зазначений, інтерпретатор сценарію, умонтований у браузер, припускає, що метод ставиться до об'єкта window.

Можна явно вказувати об'єкт window:

window. alert("Повідомлення");

Метод confirm

За допомогою методу confirm можна відобразити на екрані діалогову панель із повідомленням, проте в цій панелі буде дві кнопки - OK і Cancel. У залежності від того, яка кнопка буде натиснута, метод поверне відповідно значення true або false.

Метод confirm звичайно використовується в такий спосіб:

if(confirm("Повідомлення"))

{

// Натиснута кнопка ОК

...

}

else

{

// Натиснута кнопка Cancel

...

}

Метод prompt

Якщо сценарії необхідно одержати від користувача один текстовий рядок, для цього можна застосувати метод prompt, що відображає на екрані діалогову панель, у якій є одне текстове поле запровадження і кнопка ОК. Коли користувач натискає цю кнопку, метод prompt повертає введений рядок.

Метод prompt визивається в такий спосіб:

Var szInput="";

szInput=prompt("Повідомлення","Рядок запровадження по умовчанню");

Через перший параметр методу передається повідомлення, що відображається в діалоговій панелі над текстовим полемо запровадження. Другий параметр необов'язковий. Якщо він зазначений, поле запровадження инициализируется текстовим рядком, заданої цим параметром.

За допомогою методу prompt сценарій може одержати від користувача тільки один текстовий рядок.

Метод open

За допомогою методу open сценарій може відчинити нове вікно браузера і завантажити в це вікно документ HTML для перегляду. Формат виклику методу open приведений нижче:

open("Адреса URL", "Ім'я Вікна", "Параметри вікна");

Метод повертає ім'я нового вікна, що можна використовувати для посилання на властивості і методи вікна, а також на властивості і методи об'єктів, розташованих у цьому вікні.

Перший параметр методу open задає адреса URL документа HTML, призначений для завантаження в нове вікно.

Другий параметр визначає ім'я вікна для використання в параметрі TARGET оператора <А> або в операторі <FORM>, можна зазначити його як порожній рядок виду " ".

Третій, необов'язковий параметр задає різноманітні параметри, що визначають зовнішній вигляд утворюваного вікна браузера. Цей параметр указується як текстовий рядок, де через кому перераховані значення окремих параметрів, наприклад:

var wndNewWindow;

wndNewWindow=open("hello. html", "", "toolbar=no,menubar=no,scrollbars=no,width=300,height=100");

Нижче перераховані всі можливі параметри вікна:

Параметр Опис

Toolbar Якщо параметр має значення yes або 1, вікно постачається стандартною інструментальною лінійкою. Якщо ж значення цього параметра дорівнює no, те інструментальна лінійка буде відсутній

location Параметр визначає, чи буде відображатися поле запровадження адреси документа

directories Аналогічно попередньому, але управляє відображенням кнопок каталогів браузера Netscape Navigator, таких, як "What's New" і "What's Cool"

status Відображення рядка стана

mеnubаг Відображення лінійки меню

scrollbars Відображення смуг перегляду

resizable Якщо цей параметр зазначений як yes або 1, користувач зможе змінювати розмір знову створеного вікна

width Ширина вікна в пикселях

height Висота вікна в пикселях

Метод close

За допомогою методу close можна закрити створене або основне вікно браузера. Формат виклику цього методу такий:

wndNewWindow. close()

Поточне вікно браузера (тобто вікно, у який завантажен документ HTML із працюючим сценарієм) може бути закрите одним із двох таких засобів:

window. close()

self. close()

Метод setTimeout

За допомогою методу setTimeout можна встановити таймер, указавши при цьому вираження JavaScript і затримку в часу:

idTimer=setTimeout(cmd, timeout);

Метод setTimeout створює і запускає таймер, повертаючи його ідентифікатор. Коли пройде час, заданий другим параметром timeout (у миллисекундах), запускается вираження JavaScript, задане параметром cmd.

Роздивимося такий фрагмент сценарію:

var cmd="NoAccess()";

idTimer=window. setTimeout(cmd, 10000);

Тут створюється таймер згодом затримки 10 с. По прошествии цього часу буде викликана функція з ім'ям NoAccess, що повинна бути визначена в сценарії заздалегідь. Ця функція буде виконана тільки один разів.

Ще одне застосування методу setTimeout - створення анімаційних ефектів у сценарії JavaScript.

Метод clearTimeout

За допомогою методу clearTimeout можна зупинити таймер, запущений тільки що розглянутим методом setTimeout. У якості параметра методу clearTimeout необхідно передати ідентифікатор таймера, отриманий від методу setTimeout:

clearTimeout(idTimer);

2.3.3. Події для об'єкта window

З об'єктом класу window пов'язані дві події - onLoad і onUnload. Перше з них виникає, коли браузер закінчує завантаження вікна або усіх вікон фреймов, визначених оператором <FRAMESET>, а друге - коли користувач завершує роботу з документом HTML.

Як приклад можна роздивитися фрагмент документа HTML сценарій , що містить:

function Hello()

{

Window.alert("Welcome to my home page'")

}

function Bye()

{

window. alert("Bye ! Come back again! ")

}

<BODY BGCOLOR=white onLoad="Hello ()" onUnload="Bye()">

...

Тут в операторі <BODY> визначені оброблювачі подій onLoad і onUnload. При виникненні першої події буде визиватися функції Hello, а при виникненні другої події - функція Bye. Тому що документ HTML інтепретується в напрямку поверх униз, функції Hellо і Bye необхідно визначити до появи оператора <BODY>. Краще місце для визначення цих функцій - заголовок документа HTML. Якщо потрібно простежити завантаження усіх фреймов, можна зазначити оброблювач події onLoad в операторі <FRAMESET>.