Глава 5. АВТОМАТИЗАЦИЯ ВЗАИМОДЕЙСТВИЯ
ПОЛЬЗОВАТЕЛЯ С WEB-СТРАНИЦАМИ
Что такое окна «на лету»?
Термин «на лету» подразумевает то, что можно открыть дополнительную Web-страницу, программные коды которой встроены внутрь уже открытой в окне браузера страницы. Варианты разработки таких приложений очень разнообразны, в данном случае, хотелось показать, как можно управлять параметрами окна, которое открывается «на лету». На рис. 32 показана Web-страница, на которой находится всего одна командная кнопка с наименованием «Открыть новое окно», вызывающая новое окно (Web-страницу), представленную на рис. 33. Для просмотра, воспользуйтесь гиперссылкой: ПРИМЕР15.
Рис. 32. Кнопка на Web-странице, с помощью которой можно открыть новое окно, способом «на лету»
Рис. 33. Окно, сформированное внутри Web-страницы
Программные коды, рассматриваемого примера в виде листинга 17, приведены ниже.
Листинг 17.
<HTML>
<HTML>
<HEAD>
<TITLE>Открытие нового окна на лету</TITLE>
<SCRIPT Language="VBScript">
Dim Sved
Sub Start_window
Set Sved = window.open("",
"NV", "menubar=no, width=320,
height=250")
Sved.document.open()
Sved.document.write("<html><body><p align=center
style='font-size:12pt; color:red'>")
Sved.document.write("При открытии окна 'на лету'<BR>следует использовать метод <B>open</B>")
Sved.document.write("<p align=center style='font-size:12pt; color:navy'>Здесь можно расположить любые тэги для Web-страницы,<BR>")
Sved.document.write("напримнер, вставка рисунка <BR><IMG src=Images/vsadnik.gif>")
Sved.document.write("</p>Закройте окно")
Sved.document.write("</body></html>")
End Sub
</SCRIPT>
</HEAD>
<BODY BgColor="#FFFFF0">
<INPUT Type=Button Value="Открыть новое окно"
OnClick="Start_window()">
</BODY>
</HTML>
В программе сценарий запускается кнопкой с наименованием «Открыть новое окно», имя процедуры обработки сценария “Start_Window()”. Внутри процедуры использован ключевое слово Set, которое обязательно следует использовать для метода window.open(). Параметрами метода являются значения, которыми должно обладать новое окно. В частности: menubar=no обозначает, что строки меню в окне не будет, а width=320, height=150 показывают размеры будущего окна. Переменная Sved получает параметры окна, а затем открывает его и наполняет тэгами HTML, которые отображаются методом write(). В круглых скобках метода указываются аргументы, как видно из примера, компоновка аргументов может быть произвольной, надо стараться соблюдать некоторую логику формирования Web-страницы. Например, запись Sved.document.write("</body></html>"), в процедуре Sub Start_window сценария обработки события, следует трактовать следующим образом: из переменной Sved, принадлежащей объекту окна браузера document отобразить на экране (метод write) строку, состоящую из тегов HTML (в круглых скобках метода Write указывается запись, которую формируют для вновь создаваемой Web-страницы). В примере записаны теги для закрытия тела документа и всего документа.