Управление окнами Web-обозревателем
Оглавление
Управление окнами Web-обозревателем
Страница 2
Страница 3
Страница 4
Страница 5
Страница 2 из 5
Метод open возвращает экземпляр объекта window, соответствующий открытому
окну. С помощью этого экземпляра объекта мы можем управлять созданным окном.
Примеры
window.open("page.html", " second_window");
Это выражение откроет новое окно Web-обозревателя и выведет в нем страницу
page.html. При этом создаваемое окно будет иметь случайные размеры и
местоположение, а также содержать заголовок, строку меню, панель инструментов,
панель адреса и строку состояния.
window.open("page.html", "second_window", "height=100,
location=no,menubar=no, resizeable=no, scrollbars=no, status=no,
titlebar=no,toolbar=no, width=100") ;
А этот сценарий откроет крошечное окошко с размерами 100x100 пикселов, без
заголовка (в Internet Explorer версий 4.x и 5.x), строки меню, панели
инструментов, панели адреса, строки статуса, полос прокрутки и без возможности
изменить размеры окна.
Народ предупреждает!
Окна без строки меню, панели инструментов, панели адреса, строки статуса,
полос прокрутки и возможности изменить их размеры— очень плохой стиль
Web-программирования. Лучше их избегать.
Как получить доступ
к созданному программно окну?
Проблема
Мне нужно получить доступ к окну Web-обозревателя, созданного с помощью
метода open объекта window. Как это сделать?
Решение
Воспользоваться значением, которое возвращает метод open объекта window. Оно
представляет собой экземпляр объекта window, соответствующий созданному
программно окну.
Чтобы получить доступ к содержимому окна, открытого программно, нужно
воспользоваться свойством document полученного экземпляра объекта window. Это
свойство предоставляет доступ к соответствующему объекту.
Мы также можем получать доступ к объявленным в новом окне переменным и
функциям. Для этого используется такой формат:
<Программно созданное окно>.<Переменная> = <3начение>;
<Программно созданное окно>.<Функция>{[<Параметры>]);
То есть такой же, как и для доступа к свойствам и методам экземпляра
объекта.
Народ предупреждает
Получить доступ к переменным и функциям, объявленным в созданном программно
окне, мы можем только после открытия этого окна и окончания загрузки
Web-страницы, которая должна в ней присутствовать.
Пример 1
Приведенный далее сценарий открывает второе окно Web-обозревателя и выводит в
нем текст приветствия:
<HTML> <HEAD>
<TITLE>Пример</TITLE> </HEAD> <BODY>
<SCRIPT TYPE="text/javascript">
var secondWindow = window.open("", "second_window");
secondwindow.document.write("<Р>Здравствуйте!</Р>");
secondWindow.document.write("<P>Bac приветствует второе
окноWEB-обозревателя.</Р>") ; </SCRIPT> </BODY>
</HTML>
Пример 2
Напишем код двух Web-страниц jspsOpenWindowl.html и jspsOpenWin-dow2.htm, из
которых первая будет выводить на экран вторую в отдельном окне
Web-обозревателя.
Вот код страницы jspsOpen Window I .html:
<HTML> <HEAD>
<TITLE>Первичное okho</TITLE> <SCRIPT
TYPE="text/javascript">
var secondWindow = window.open("jsps0penWindow2.html","second_window");
function btnOKOnClick() {
secondWindow.greeting = "А я - первичное окно!";
secondWindow.writeGreeting(); } </SCRIPT> </HEAD> <BODY>
<FORM>
<INPUT TYPE="button" ID="btnOK" VALUE="Нажми!"
ONCLICK="btnOKOnClick();"> </FORM> </BODY> </HTML>
А вот код страницы jspsOpenWindow2.htm:
<HTML> <HEAD>
<TITLE>Вторичное okho</TITLE> <SCRIPT
TYPE="text/javascript">
var greeting = "Я - вторичное окно!";
function writeGreeting() {
document.write("<P>" + greeting + "</P>"); } </SCRIPT>
</HEAD> <BODY>
<SCRIPT TYPE="text/javascript">
writeGreeting(); </SCRIPT> </BODY> </HTML>
Откроем в Web-обозревателе страницу jspsOpenWindowl.html, сдвинем в сторону
вторичное окно и в первичном нажмем кнопку Нажми!. Текст во вторичном окне
изменится.
Как из созданного программно окна получить доступ к создавшему его окну?
В странице, открываемой в созданном программно окне, я пишу Web-сценарий,
который должен получить доступ к создающему его окну и выполнять с его
содержимым какие-то манипуляции. Как вообще получить к нему доступ?
Решение 1
Использование свойства opener объекта window. Это свойство возвращает
экземпляр объекта window, соответствующий окну, из которого было программно
создано текущее окно.
Пример
Напишем Web-страницы jspsOpenerl.html и jspsOpener2.html, из которых первая
будет выводить на экран вторую в отдельном окне Web-обозревателя.
Код страницы jspsOpenerl.html таков:
<HTML> <HEAD>
<TITLE>Первичное okho</TITLE> <SCRIPT
TYPE="text/javascript">
var secondWindow = window.open("jspsOpener2.html"," second_window") ;
</SCRIPT> </HEAD> <BODY> </BODY> </HTML>
А так выглядит код страницы jspsOpener2.html:
<HTML> <HEAD>
<TITLE>Вторичное okho</TITLE> </HEAD> <BODY>
<SCRIPT TYPE="text/javascript">
window.opener.document.write("<Р>Вторичное окно открыто!</P>");
</SCRIPT> </BODY> </HTML>
Откроем в Web-обозревателе страницу jspsOpenerl.html. После того как
откроется вторичное окно, во вторичном окне появится текст "Вторичное окно
открыто!".
Решение 2
« Пред. - След. »