Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PI_lektsii_2016.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
6.12 Mб
Скачать
    1. Об'єкт window (Операції з вікнами)

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

Властивості. Об'єкт window має наступні властивості:

  1. defaultStatus текстове повідомлення, яке за замовчуванням виводиться в рядку стану (status bar) вікна браузера;

  2. name – заголовок вікна, який задається за допомогою аргументу windowName методу open().

  3. parent – синонім, використовується для звернення до батьківського вікна; self – синонім, використовується для звернення до поточного вікна. status – текст тимчасового повідомлення в рядку стану вікна браузера. top – синонім, використовується для звернення до головного вікна браузера. window – синонім, використовується для звернення до поточного вікна. frames – масив фреймів у документі, що містить фрейми. length – кількість фреймів у документі, що містить фрейми.

Методи:

  1. alert () – застосовується для того, щоб вивести на екран текстове повідомлення;

  2. open () – використовується для відкриття вікна;

  3. close () – використовується для закриття вікна;

  4. confirm () – виводить на екран вікна повідомлення з кнопками Yes і No, і повертає логічне значення true або false, залежно від натиснутої кнопки;

  5. prompt () – виводить діалогове вікно з полем введення;

  6. setTimeout () – встановлює в поточному вікні обробку подій, пов'язаних з таймером;

  7. clearTimeout () скасовує обробку подій, пов'язаних з таймером;

  8. moveTo (), moveBy () – переміщує вікно браузера;

  9. resizeTo (), resizeBy – змінює розміри вікна браузера;

  10. print () – виводить документ на друк.

Обробники подій. Об'єкт window не виконує жодних події до тих пір, поки в вікно не завантажений документ. Однак можна обробляти події, пов'язані із завантаженням і розвантаженням документів. Обробники таких подій задаються як значення атрибутів onLoad і onUnload, що визначаються в тезі <body>.

Створення нового вікна браузера (метод open). Щоб створити нове вікно, потрібно застосувати метод window. open (). Типові інструкції, що вводять цей метод, мають такий вигляд:

window.open ( "URL", "Namewin", "Features");

або

var win = window.open ( "URL", "name", "features");

Згідно з першим записом створюється новий об'єкт window без можливості посилання на нього. При використанні другого запису дані про об'єкт зберігаються в змінній win. Тобто можна послатися на створений об'єкт, використовувати його методи і властивості.

При операціях в поточному вікні в записі window.open () об'єкт верхнього рівня (window) можна не вказувати. Метод open () створює вікно, яке відноситься до типу немодального вікна. На відміну від модальних вікон alert (), prompt (), confirm (), немодальні вікна не залежать від поточного вікна. Програма в немодальному вікні виконується незалежно від інших вікон.

Аргументи методу ореn (). Аргумент "URL" позначає URL документа, що завантажується у вікні.Аргумент "Namewin" вводить назву вікна. Ім'я вікна Namewin буде присвоєне властивості name об'єкта win.Аргумент "Features" позначає список необов'язкових опцій, які розділені комою. У цьому списку можуть бути:

  • параметри розмірів вікна в пікселах (width і height);

  • можливості зміни розмірів кордону вікна (resizable);

  • параметри наявності панелі інструментів (toolbar);

  • меню (menubar);

  • поля введення адреси (location);

  • рядки стану (status).

Всі зазначені параметри в методі open () є необов'язковими. Якщо опущений в списку параметрів покажчик URL, то в новому вікні браузера буде відкрита порожня сторінка. Ім'я також можна не вказувати, проте в цьому випадку не можна буде використовувати дане вікно в якості цільового (target) для наступних документів. Нарешті, якщо не задані параметри вікна, використовуються значення параметрів, прийняті за замовчуванням.

Наведений нижче сценарій призведе до створення трьох різних незалежних вікон:

<SCRIPT LANGUAGE="JavaScript">

var winl = open("","Copy");

var win2 = open("F:/Examp/About.html", "Version",

"width=200, height=150, toolbar=0, status=l, menubar=yes");

var win3 = open("www.rumber.com/Home.html","Session");

</SCRIPT>

Змінна winl буде містити дані про порожнє вікно з ім'ям Сору. У вікно з ім'ям Version (об'єкт win2) буде завантажений файл F:\Examp\About.html, а у вікні Session (об'єкт win3) буде відкрита Web-сторінка www.rumber.com/home.html. Для об'єкта win2 задані розміри вікна: width=200, height=150, а також передбачені меню (menubar) і рядок стану (status).

Щоб включити той чи інший елемент вікна (toolbar, menubar, location» status), використовуються значення параметрів yes, 1 або сама назва елемента. Для відключення елемента - значення no або 0. Наприклад, для виведення панелі інструментів, в вікні можна використовувати будь-яку з наступних інструкцій:

window.open("...і,"...", "toolbar=l"); open("...","...", "toolbar=yes"); open(n...","...", "toolbar").

Переключення між вікнами (методи focus() і blur()). Якщо на екрані відкрито кілька вікон, то для перемикання між ними можна скористатися методом window.focus (). Вікно, яке отримало фокус, буде відрізнятися від інших вікон кольоровий підсвічуванням рядка заголовка. Позбавити вікно фокусу можна за допомогою методу window. blur ().

Виклик методу focus () можна пов'язати з виконанням відповідного обробника подій – onfocus . При цьому важливо враховувати, що подія onfocus запускається, якщо фокус отримує раніше не викликане вікно. Якщо ж вікно активне, то при виклику методу focus () воно вже не буде генерувати подію onfocus.

Присвоєння імені вікна (властивість name). Всі вікна, створювані в браузері, залишаються без імені, поки воно їм не присвоєно за допомогою спеціальної директиви - присвоєння значення рядка властивості name об'єкта window. Наступні п'ять рядків приводять до одного і того ж результату, вони присвоюють ім'я MyWin поточного вікна:

window.window.name = "MyWin"

window.self.name = "MyWin"

window.name = "MyWin"

self.name = "MyWin"

name = "MyWin"

У цих записах використано властивість self об'єкта window, яке повертає вікно. Переконатися в тому, що будь-яка з директив присвоює ім'я MyWin можна з допомогою наступних операторів:

self.name = "MyWin"; alert(name);

які в діалозі повідомлення виведуть ім'я вікна «MyWin».

Переміщення вікна браузера (методи moveTo, moveBy) window. moveTo () – цей метод отримує два параметри, що відповідають переміщенню лівого верхнього кута вікна в точку з заданими координатами. Наприклад, метод window.moveTo(100,200) перемістить вікно в положення, при якому лівий верхній кут вікна буде розташований на відстані 100 пікселів від лівого краю екрана і в 200 пікселів від верхнього крану екрана; window. moveBy () – цей метод здійснює переміщення вікна на задану відстань, наприклад, window.moveBy (10, 5) перемістить вікно на 10 пікселів вправо і на 5 пікселів вниз. Можливі як позитивні, так і негативні значення аргументів. Переміщення буде здійснюватися при кожному виконанні методу. Приклад: <INPUT

type="button" value="Перемістити" onClick="window.moveBy(10,5);"> За допомогою цієї інструкції на екран виводиться кнопка з написом «Перемістити». При клацанні мишею по цій кнопці вікно переміститься на відстань, зазначену в аргументах методу.

Зміна розмірів вікна (методи resizeTo і resizeBy). Методи window. resizeTo () і window. resizeBy (аналогічні методам переміщення вікна).

Метод window. resizeTo () призводить до зміни вікна до зазначених розмірів.

Наприклад, window. resizeTo (420, 350) змінює розмір вікна до 420 пікселів в ширину і 350 пікселів у висоту.

Метод window, resizeBy () дає збільшення розмірів вікна на зазначену величину. Наприклад, window.resizeBy (20, -15)збільшує ширину вікна на 20 пікселів і зменшує висоту на 15 пікселів.

Друк Web-сторінки (метод Print). Роздрукувати Web-документ можна за допомогою кнопки «Друк» на панелі браузера. Однак аналогічне засіб є і в JavaScript, воно представлено методом window.print (). Наприклад, розмістимо на Web-сторінці кнопку «Друк», введемо в HTML-код рядок:

<INPUT type = "button" value = "Друк" onClick = "window.print ();">

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

Закриття вікна (метод close). Вікна, які створені методом open, можуть бути закриті методом close. Для закриття вікна використовуються такі записи:

window.close ();

window.close (Namewin);

Перша з цих директив закриває поточне вікно, а друга - вікно з ім'ям Namewin. Відзначимо, що факт закриття вікна записується в властивість closed об'єкта window. Вікно закрите, а його властивість ще існує. Об'єкт window після закриття вікна повністю не руйнується: властивість MyWin. closed залишається доступною (MyWin – змінна вікна) і повертає значення true.

У разі закриття останнього вікна браузера потрібне підтвердження цієї операції користувачем. Така можливість передбачена спеціально, щоб уникнути «хуліганського» закриття всіх вікнон з боку JavaScript-програми.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]