Как это не покажется странным, но в наших простых примерах мы уже начали манипулировать окнами. Открытие окна-пердупреждения - это операция над объектом "окно". Определим свойства объекта "окно", методы изменения этих свойств и события,
Методы позволяют нам создать на экране видимое окно, закрыть окно и проделать с ним другие операции. С методом window.alert мы уже знакомы. Методы window.confirm и window.prompt используются для получения ответов от пользователя:
Пример 2.16. Использование методов Alert, Prompt, Confirm
<HTML> <HEAD> <title>Window simple example</title> </HEAD> <BODY> <center> <h1>Simple window methods</h1> <hr> </center> <ul> <li><a href="javascript:window.alert('Attention!!! press the button to continue.')">Метод Alert.</a> <li><a href="javascript:window.status=window.confirm('Answer yes or no.');void(0);">Метод Confirm.</a> <li><a href="javascript:window.status=window.prompt('Type string here:','');void(0);">Метод Prompt.</a> </ul> </BODY> </HTML>
В данном примере при вызове метода confirm появляется окно с просьбой подтверждения некоторого действия, при использовании метода prompt - окно с приглашением ввести информацию в поле ввода. В двух последних случаях если не указать функ
Однако, следует признать, что рассмотренные выше методы используются крайне редко. А тем более в приведенном здесь контексте, поэтому поспешим рассмотреть методы открытия и закрытия окна.
Открыть окно можно используя метод open:
Пример 2.17. Метод window.open
<HTML> <HEAD> <title>Window simple example</title> </HEAD> <BODY> <center> <h1>Open window methods</h1> <hr> </center> Если выбрать гипертекстовую ссылку <a href="javascript:window.open('simple8.htm','example','scrollbars, resizable,width=300,height=200');void(0);">Открыть окно</a>, то будет открыто новое окно. Чаще всего этот прием используют при создании контекстно зависимых меню. </BODY> </HTML>
В данном случае при выборе гипертекстовой ссылки будет открыто окно шириной 300 пикселей и высотой 200 пикселей, в окне не будет никаких стандартных меню навигатора, и в окно будет загружен документ simple8.html. Метод open позволяет та
Документ simple8.htm в свою очередь содержит код, который позволяет закрыть окно, открытое в примере 2.17:
Пример 2.18. Закрыть текущее окно
<HTML> <HEAD> <title>Window simple example</title> </HEAD> <BODY> <center> <h1>Close window methods</h1> <hr> </center> Если выбрать гипертекстовую ссылку <a href="javascript:window.close();void(0);"> Закрыть окно</a>, то данное окно будет закрыто. </BODY> </HTML>
В данном примере в качестве гипертекстовой ссылки используется ссылка на метод widow.close(), который закрывает текущее окно. На применении методов open и close построен принцип построения help. По методу open открывается окно подсказки
Рассмотрим еще один метод, связанный с окном - метод scroll. Данный метод позволяет организовать прокрутку текста в окне.
Пример 2.19. Прокрутка текста в окне навигатора
<HTML> <HEAD> <title>Scroll text</title> </HEAD> <BODY> <center> <h1>Прокрутка текста в окне навигатора</h1> <hr> [<a href="javascript:for(i=0;i<80;i++) {window.scroll(0,i*10)};void(0);">Прокрутить текст</a>] <hr> </center> Вообще говоря, проверить тип программы просмотра можно на сервере протокола HTTP и передать программе просмотра уже готовую страницу без условной генерации ее ... <hr> <center>[<a href=#top>Вернуться в начало</a>]</center> </BODY> </HTML>
От метода прокрутки мы перейдем теперь к методу, который позволит нам прокручивать документ более равномерно - это метод setTimeout. Большинству пользователей Web он знаком по бегущим строкам в поле статуса программы-навигатора. Метод s
Пример 2.20. Прокрутка текста по таймеру
<HTML> <HEAD> <title>Scroll text</title> <script language=JavaScript> <!-- i=0;flag=0;start_stop=0; function my_scroll() { if(start_stop==1) { window.scroll(0,i*10); if(flag==0) i++; if(flag==1) i--; if(i>80) {i=80;flag=1;} if(i<0) {i=0;flag=0;} } setTimeout("my_scroll()",500); } function kuku() { if(start_stop == 0) { start_stop =1; } else { start_stop =0; } } // --> </script> </HEAD> <BODY onLoad=my_scroll()> <center> <h1>Прокрутка текста в окне навигатора</h1> <hr> [<a href="javascript:kuku();void(0);">Запустить/Остановить</a>] <hr> </center> Вообще говоря, проверить тип программы просмотра можно на сервере протокола HTTP и передать программе просмотра уже готовую страницу без условной генерации ее ... <hr> <center>[<a href=#top>Вернуться в начало</a>]</center> </BODY> </HTML>
В данном примере мы не стали писать текст программ в самих гипертекстовых ссылках и вынесли его в заголовок документа. В данном случае это облегчает чтение текста и отладку программы. Текст прокручивается через каждые 500 миллисекунд, ч
Следует подробно остановиться на особенностях исполнения метода setTimeout. Особенно в части запуска и останова процедуры прокрутки. Рассматривать алгоритм ее исполнения лучше всего в контексте многопоточных или многозадачных систем. Фу
В нашем примере новый процесс поток порождается всякий раз, как интерпретатор достигает метода setTimeout, а уничтожается, когда интерпретатор доходит до последнего оператора этого потока. Такой алгоритм выполнения заставляет расположит
Во второй версии навигатора данная функция была реализована не очень аккуратно, что приводило к переполнению программного стека и краху программы-навигатора.
Назад | Содержание | Вперед