Глава 2. ОБРАБОТКА СОБЫТИЯ НА VBScript
Использование объекта
window для передачи параметров
В предыдущем разделе отмечено, что в
определенных случаях без объекта window трудно обойтись.
Для подтверждения такого утверждения предлагается рассмотреть ПРИМЕР5. В рассматриваемом
примере используется вместо кнопки рисунок, который представлен на Web-странице рис. 7.
Рис. 7. Начальное состояние открытого окна
В рассматриваемом примере, наезд
указателя мыши на рисунок вызывает событие - замена рисунка, как показано на
рис. 8. Таким образом, создаётся эффект изменения свойств начального рисунка.
При уводе указателя мыши с нового рисунка, происходит его замещение начальным
рисунком. Весь процесс производится с одной Web-страницей
без её перезагрузки в браузере.
Рис. 8. Новый рисунок при наезде мыши
К процедурам обработки событий на VBScript - наезда и увода указателя мыши с
объекта (в данном случае под объектом подразумевается тег-контейнер <IMG…>), в примере добавлен третий обработчик события
– щелчок левой клавишей мыши по объекту OnMouseDown, который обладает таким же методом в системе,
как и OnClick. Программные коды для отображения Web-страницы в окне браузера со сценарием обработки
событий показаны в листинге 6.
Листинг
6.
<HTML>
<HEAD>
<TITLE>Работа
с рисунками</TITLE>
<HEAD>
<SCRIPT
LANGUAGE="VBScript">
Sub in1_Onmouseover
k1.src="../Рисунки/Ris-17.gif"
End Sub
Sub in1_Onmouseout
k1.src="../Рисунки/Ris-18.gif"
End Sub
Sub in1_Onmousedown
Dim y
y="PR1-Функция
при загрузке.htm"
Set y=window.open(y,"","
top=170, left=120, width=400, height=150")
End Sub
</SCRIPT>
</HEAD>
<BODY>
<IMG ID="in1"
SRC="../Рисунки/Ris-18.gif">
</BODY>
</HTML>
В процедуре Sub
in1_Onmousedown переменной y присваивается путь к файлу, который представляет
собой Web-страницу, а так же оператор Set, с помощью которого формируются параметры нового
окна и передаются методу Open. Запись
оператора Set выглядит следующим образом:
Set y=window.open(y,""," top=170, left=120, width=400, height=150")
Оператор
Set позволяет объявлять переменную, которой
автоматически системой присваивается значение ссылки на объект, что позволяет
избежать длинной записи с перечислением самого верхнего объекта объектной
модели браузера до объекта, в котором расположен метод Open.
Метод
Open создает новое окно браузера и позволяет управлять
его видом, синтаксис вызова данного метода:
X=window.open(url, имя_нового_окна, список_опций)
Url – является строкой,
содержащей относительный или абсолютный путь к файлу, открываемому в новом
окне.
Имя_нового_окна – если окно с
этим именем уже существует, то оно используется повторно, т.е. документ
отображается в существующем окне, если же такого окна еще нет, то оно будет
открыто.
Список_опций – это список
разделенных запятыми опций конфигурации нового окна. Весь список должен быть
заключён в кавычки и записан в одной строке.
После того как сформированы параметры нового окна,
происходит его открытие. Запускается новая версия браузера, в котором
отображается файл в рассматриваемом примере, открывается файл с именем: «PR1-Функция при загрузке.htm».
На рис. 9 показано новое окно, которое открылось после щелчка мыши по рисунку.
Рис. 9. Открытое новое окно после щелчка мышью по
рисунку
Опции
для метода Open перечислены в таблице 2.
Таблица
2. Опции для метода Open
Опция |
Описание |
Значение по
умолчанию |
Directories= yes | no |
Наличие
в окне браузера панели инструментов |
|
Height=integer |
Устанавливает
высоту окна в пикселах |
Определяется
системой |
Location= yes | no |
Наличие
в окне браузера строки Adress |
|
Menubar= yes | no |
Выводит
или прячет строку меню |
No |
Resizable= yes | no |
Представляет
возможность изменять размеры окна |
|
Scrollbars= yes | no |
Наличие
линейки прокрутки |
|
Status= yes | no |
Отображает
или скрывает строку состояния |
No |
Toolbar= yes | no |
Отображает
или скрывает панель инструментов |
No |
Width=integer |
Устанавливает
ширину окна в пикселах |
Определяется
системой |