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

Методы объекта window

Метод open() предназначен для создания новых окон:

myWin=window.open("URL", "имя_окна","парам=знач, парам=знач,...", заменить);

Первый аргумент задает адрес страницы, загружаемой в новое окно (можно оставить пустую строку, тогда окно останется пустым). Второй аргумент задает имя окна, которое можно будет использовать в атрибуте TARGET контейнеров <A> и <FORM>. В качестве значений допустимы также зарезервированные имена _blank, _parent, _self, _top, смысл которых такой же, как у аналогичных значений атрибута TARGET. Если имя_окна совпадает с именем уже существующего окна (или фрейма), то новое окно не создается, а все последующие манипуляции с переменной myWin будут применяться к этому окну (или фрейму).

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

Параметры метода window.open()

Параметр

Описание

width

Ширина окна в пикселах (не менее 100)

height

Высота окна в пикселах (не менее 100)

left

Расстояние от левого края экрана до левой границы окна в пикселах

top

Расстояние от верхнего края экрана до верхней границы окна в пикселах

directories

yes/no

Наличие у окна панели папок (Netscape Navigator)

location

yes/no

Наличие у окна поля адреса

menubar

yes/no

Наличие у окна панели меню

resizable

yes/no

Сможет ли пользователь менять размер окна

scrollbars

yes/no

Наличие у окна полос прокрутки

status

yes/no

Наличие у окна поля статуса

toolbar

yes/no

Наличие у окна панели инструментов

Вместо значений yes и no можно использовать 1 и 0. Последний аргумент "заменить" является необязательным, принимает значения true и false и означает: следует ли новый URL добавить в history в качестве нового элемента или заменить им последний элемент history.

Метод window.open() возвращает ссылку на вновь открытое окно, т.е. объект класса Window. Его можно присвоить переменной, с тем чтобы потом можно было управлять открытым окном (писать в него, читать из него, передавать и убирать фокус, закрывать).

Приведем два примера открытия нового окна:

<FORM>

<INPUT TYPE=button VALUE="Простое окно"

onClick="window.open('', 'test1',

'directories=no,height=200,location=no,'+

'menubar=no,resizable=no,scrollbars=no,'+

'status=no,toolbar=no,width=200');">

<INPUT TYPE=button VALUE="Сложное окно"

onClick="window.open('', 'test2',

'directories=yes,height=200,location=yes,'+

'menubar=yes,resizable=yes,scrollbars=yes,'+

'status=yes,toolbar=yes,width=200');">

</FORM>

При нажатии кнопки "Простое окно" получаем окно со следующими параметрами:

  • directories=no — окно без панели папок;

  • height=200 — высота 200 px;

  • location=no — поле адреса отсутствует;

  • menubar=no — без меню;

  • resizable=no — размер окна изменять нельзя;

  • scrollbars=no — полосы прокрутки отсутствуют;

  • status=no — статусная строка отсутствует;

  • toolbar=no — системные кнопки браузера отсутствуют;

  • width=200 — ширина 200 px.

При нажатии кнопки "Сложное окно" получаем окно, где:

  • directories=yes — окно с панелью папок;

  • height=200 — высота 200 px;

  • location=yes — поле адреса есть;

  • menubar=yes — меню есть;

  • resizable=yes — размер изменять можно;

  • scrollbars=yes — есть полосы прокрутки;

  • status=yes — статусная строка есть;

  • toolbar=yes — системные кнопки браузера есть;

  • width=200 — ширина 200 px.

window.close()

Метод close() позволяет закрыть окно. Если необходимо закрыть текущее окно, то:w.close(); или self.close();Если необходимо закрыть произвольное окно, то сначала нужно получить его идентификатор:

id=window.open();

id.close();

Если мы открыли окно с помощью метода window.open(), то из скрипта, работающего в новом окне, сослаться на окно-родитель можно с помощью window.opener (обратите внимание, здесь window ссылается на объект нового, созданного окна, т.к. оно использовано в скрипте, работающем в новом окне). Поэтому, если необходимо закрыть родительское окно, то: window.opener.close();