Создание окон
Открытие новых окон в браузере — грандиозная возможность языка JavaScript. Вы можете либо загружать в новое окно новые документы (например, те же документы HTML), либо (динамически) создавать новые материалы. Посмотрим сначала, как можно открыть новое окно, потом как загрузить в это окно HTML-страницу и, наконец, как его закрыть.
Приводимый далее скрипт открывает новое окно браузера и загружает в него некую web-страничку:
<html> <head> <script language="JavaScript"> <!-- hide function openWin() { myWin= open("bla.htm"); } // --> </script> </head> <body> <form> <input type="button" value="Открыть новое окно" onClick="openWin()"> </form> </body> </html>
В представленном примере в новое окно с помощью метода open() записывается страница bla.htm.
Заметим, что Вы имеете возможность управлять самим процессом создания окна. Например, Вы можете указать, должно ли новое окно иметь строку статуса, панель инструментов или меню. Кроме того Вы можете задать размер окна. Например, в следующем скрипте открывается новое окно размером 400×300 пикселов. Оно не имеет ни строки статуса, ни панели инструментов, ни меню.
<html> <head> <script language="JavaScript"> <!-- hide function openWin2() { myWin= open("bla.htm", "displayWindow", "width=400,height=300,status=no,toolbar=no,menubar=no"); } // --> </script> </head> <body> <form> <input type="button" value="Открыть новое окно" onClick="openWin2()"> </form> </body> </html>
Как видите, свойства окна мы формулируем в строке width=400,height=300,status=no,toolbar=no,menubar=no».
Обратите внимание также и на то, что Вам не следует помещать в этой строке символы пробела
Список свойств окна, которыми Вы можете управлять:
directories | yes|no |
height | количество пикселов |
location | yes|no |
menubar | yes|no |
resizable | yes|no |
scrollbars | yes|no |
status | yes|no |
toolbar | yes|no |
width | количество пикселов |
В версии 1.2 языка JavaScript были добавлены некоторые новые свойства .
Новые свойства окон:
alwaysLowered | yes|no |
alwaysRaised | yes|no |
dependent | yes|no |
hotkeys | yes|no |
innerWidth | количество пикселов (заменяет width) |
innerHeight | количество пикселов (заменяет height) |
outerWidth | количество пикселов |
outerHeight | количество пикселов |
screenX | количество пикселов |
screenY | количество пикселов |
titlebar | yes|no |
z-lock | yes|no |
Вы можете найти толкование этих свойств в описании языка JavaScript 1.2. В дальнейшем я для некоторых из них дам разъяснение и примеры использования.
Например, теперь с помощью этих свойств Вы можете определить, в каком месте экрана должно находиться вновь открываемое окно. Работая со старой версией языка JavaScript, Вы не смогли бы этого сделать.
Имя окна
Как видите, открывая окна, мы должны использовать три аргумента:
myWin= open("bla.htm", "displayWindow", "width=400,height=300,status=no,toolbar=no,menubar=no");
А для чего нужен второй аргумент? Это имя окна. Ранее мы видели, как оно использовалось в параметре target. Так, если Вы знаете имя окна, то можете загрузить туда новую страницу с помощью записи
<a href="bla.html" target="displayWindow">
При этом Вам необходимо указать имя соответствующего окна (если же такого окна не существует, то с этим именем будет создано новое).
Обратите внимание, что myWin — это вовсе не имя окна. Но только с помощью этой переменной Вы можете получить доступ к окну. И поскольку это обычная переменная, то область ее действия — лишь тот скрипт, в котором она определена. А между тем, имя окна (в данном случае это displayWindow) — уникальный идентификатор, которым можно пользоваться с любого из окон браузера.
Имя окна
Как видите, открывая окна, мы должны использовать три аргумента:
myWin= open("bla.htm", "displayWindow", "width=400,height=300,status=no,toolbar=no,menubar=no");
А для чего нужен второй аргумент? Это имя окна. Ранее мы видели, как оно использовалось в параметре target. Так, если Вы знаете имя окна, то можете загрузить туда новую страницу с помощью записи
<a href="bla.html" target="displayWindow">
При этом Вам необходимо указать имя соответствующего окна (если же такого окна не существует, то с этим именем будет создано новое).
Обратите внимание, что myWin — это вовсе не имя окна. Но только с помощью этой переменной Вы можете получить доступ к окну. И поскольку это обычная переменная, то область ее действия — лишь тот скрипт, в котором она определена. А между тем, имя окна (в данном случае это displayWindow) — уникальный идентификатор, которым можно пользоваться с любого из окон браузера.