Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Окна и динамически создаваемые документы



Открытие новых окон в браузере - грандиозная возможность языка JavaScript. Вы можете либо загружать в новое окно новые документы (например, те же документы HTML), либо (динамически) создавать новые материалы.

Заметим, что Вы имеете возможность управлять самим процессом создания окна. Например, Вы можете указать, должно ли новое окно иметь строку статуса, панель инструментов или меню. Например, в следующем скрипте открывается новое окно размером 400x300 пикселов, которое не имеет ни строки статуса, ни панели инструментов, ни меню.

< html>

< head>

< script language=" JavaScript" >

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>

Обратите внимание также и на то, что Вам не следует помещать в этой строке символы пробела. Список свойств окна, которым Вы можете управлять:

directories yes|no toolbar yes|no
height количество пикселов width количество пикселов
location yes|no alwaysLowered yes|no
menubar yes|no alwaysRaised yes|no
resizable yes|no dependent yes|no
scrollbars yes|no hotkeys yes|no
status yes|no titlebar yes|no

Открывая окна, мы должны использовать три аргумента:

myWin= open(" bla.htm", " displayWindow",

" width=400, height=300, status=no, toolbar=no, menubar=no" );

Второй аргумент - это имя окна. Ранее мы видели, как оно использовалось в параметре target. Так, если Вы знаете имя окна, то можете загрузить туда новую страницу с помощью записи

< a href=" bla.html" target=" displayWindow" >

При этом Вам необходимо указать имя соответствующего окна (если же такого окна не существует, то с этим именем будет создано новое).

Обратите внимание, что my Win - это вовсе не имя окна. Но только с помощью этой переменной Вы можете получить доступ к окну. И поскольку это обычная переменная, то область ее действия - лишь тот скрипт, в котором она определена. А между тем, имя окна (в данном случае это displayWindow ) - уникальный идентификатор, которым можно пользоваться с любого из окон браузера.

Вы можете также закрывать окна с помощью языка JavaScript. Чтобы сделать это, Вам понадобится метод close().

< html>

< script language=" JavaScript" >

function closeIt() {
close();

}

< /script>

< center>

< form>

< input type=button value=" Close it" onClick=" closeIt()" >

< /form>

< /center>

< /html>

Если теперь в новом окне Вы нажмете кнопку, то оно будет закрыто. open() и close() - это методы объекта window. Однако в нашем случае нет необходимости писать префикс window, если Вы хотите всего лишь вызвать один из методов этого объекта (и такое возможно только для этого объекта).

Динамическое создание документов

Для начала мы создадим простой HTML-доку мент, который покажем в новом окне. Рассмотрим следующий скрипт.

< html>

< head>

< script language=" JavaScript" >

function openWin3() {

myWin= open(" ", " displayWindow);

myWin.document.open();

myWin.document.write(" < html> < head> < title> On-the-fly" );

myWin.document.write(" < /title> < /head> < body> " );

myWin.document.write(" < center> < font size=+3> " );

myWin.document.write(" This HTML-document has been created" );

myWin.document.write(" with the help of JavaScript! " );

myWin.document.write(" < /font> < /center> " );

myWin.document.write(" < /body> < /html> " );

myWin.document.close(); }

< /script>

< /head>

< body>

< form>

< input type=button value=" On-the-fly" onClick=" openWin3()" >

< /form>

< /body>

< /html>

Давайте рассмотрим функцию winOpen3(). Очевидно, мы сначала открываем новое окно браузера. Поскольку первый аргумент функции open() - пустая строка (" " ), то это значит, что мы не желаем в данном случае указывать конкретный адрес URL, поэтому браузер обязан создать дополнительно новый документ.

В скрипте мы определяем переменную my Win. И с ее помощью можем получать доступ к новому окну. Обратите пожалуйста внимание, что в данном случае мы не можем воспользоваться для этой цели именем окна ( display Window ).

После того, как мы открыли окно, наступает очередь открыть для записи объект  document. Делается это с помощью команды:

myWin.document.open();

Здесь мы обращаемся к open() - методу объекта document. Однако это совсем не то же самое, что метод open() объекта window! Эта команда не открывает нового окна - она лишь готовит document к предстоящей печати. Кроме того, мы должны поставить перед document. open () приставку myWin, чтобы получить возможность писать в новом окне.

В последующих строках скрипта с помощью вызова document. write () формируется текст нового документа. По завершении этого мы обязаны вновь закрыть документ. Это делается

следующей командой:

myWin.document.close();

Как я уже говорил, Вы можете не только динамически создавать документы, но и по своему выбору размещать их в в том или ином фрейме. Например, если Вы получили два фрейма с именами frame 1 и frame 2, а теперь воframe2 хотите сгенерировать новый документ, то

для этого в frame 1 Вам достаточно будет написать следующее:

parent.frame2.document.open();

parent.frame2.document.write(" Here goes your HTML-code" );

parent.frame2.document.close();


Поделиться:



Последнее изменение этой страницы: 2019-04-09; Просмотров: 242; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.013 с.)
Главная | Случайная страница | Обратная связь