Лекция: Window.open()
Метод open() предназначен для создания новых окон. В общем случае его синтаксис выглядит следующим образом:
Первый аргумент задает адрес страницы, загружаемой в новое окно (можно оставить пустую строку, тогда окно останется пустым). Второй аргумент задает имя окна, которое можно будет использовать в атрибуте TARGET контейнеров <A> и<FORM>. В качестве значений допустимы также зарезервированные имена _blank, _parent, _self, _top, смысл которых такой же, как у аналогичных значений атрибута TARGET. Если имя_окна совпадает с именем уже существующего окна (илифрейма), то новое окно не создается, а все последующие манипуляции с переменной myWin будут применяться к этому окну (или фрейму).
Третий аргумент есть не содержащая пробелов строка, представляющая собой список параметров и их значений, перечисленных через запятую. Указание каждого из параметров необязательно, однако значения по умолчанию могут зависеть от браузера, поэтому всегда указывайте явно те параметры, на которые рассчитываете. Возможные параметры перечислены втаблице 4.3. Вместо значений yes и no можно использовать 1 и 0. Последний аргумент " заменить " является необязательным, принимает значения true и false и означает: следует ли новый URL добавить в history в качестве нового элемента или заменить им последний элемент history.
Метод window.open() возвращает ссылку на вновь открытое окно, т.е. объект класса Window. Его можно присвоить переменной (что мы и сделали выше), с тем чтобы потом можно было управлять открытым окном (писать в него, читать из него, передавать и убирать фокус, закрывать).
Таблица 4.3. Параметры метода 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 | Наличие у окна панели инструментов |
Приведем два примера открытия нового окна:
При нажатии кнопки «Простое окно» получаем окно со следующими параметрами:
· 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