Внимание!! Всем, кто интересуется скрипт-технологиями. Рекомендую подписаться на еженедельную рассылку "Скрипт-технологии". Данная рассылка ориентирована на описание подробной технической информации по тесно связанным между собой WSH, JS и VBS.
Создание собственных псевдособытий
При помощи кода сценария, кроме управления свойствами и вызова методов различных объектов, принадлежащих объектной модели, можно генерировать свои собственные псевдособытия. Все процедуры обработки событий доступны Вашему коду, так что можно вызвать их и непосредственно. Все будет происходить так, как будто событие произошло, хотя, конечно, ни броузер, ни Windows об этом подозревать не будут.
Как и где это можно использовать? Фантазии нет предела! Чтобы проиллюстрировать сказанное, приведу несколько примеров. Например, Вы наверняка обратили внимание на некоторых сайтах, что как только открываешь их страницу, тут-же появляется еще одна. В основном, это сайты для взрослых или хакерские ресурсы. На некоторых может отрыться не одно, а сразу несколько дополнительных страниц. Мне попадались такие, которые открывали до шести(!) страниц одновременно. Как это присходит? Просто на странице записан сценарий, который генерирует собственные события, вызывающие открытие новых окон и загрузку в них нужных документов.
Существуют и такие "перлы" творчества программистов, которые не позволяют пользователю просто так закрыть окно просматриваемой страницы. Здесь по событию onunload броузера вызывается повторная загрузка страницы. Такие сайты "вцепятся" в Ваш броузер и будут держать мертвой хваткой не хуже бульдога. Хотите такой примерчик - пожалуйте:
Чтобы пример заработал, надо снять комментарии в строках 8 и 9 перед текстом window.open("catch.htm"). Рекомендую предварительно открыть документ в редакторе, а потом уже в броузере. Когда Вы пару раз попытаетесь закрыть этот документ при просмотре броузером, поставьте комментарии обратно, или переименуйте файл. Иначе Вам придется перезагружать компьютер, если Вы не очень ловко действуете мышкой.
Или вот еще пример. Допустим, на странице в разных ее частях рамещены два объекта, которые должны реагировать на наведение на них мышки, причем одновременно. Пишем сценарии для обработки наезда курсора мышки для каждого из объектов, и делаем вызов метода onmouseover для соседнего объекта. Только не забудьте включить обработчик события onmouseout для восстановления исходного состояния, когда мышка уйдет за пределы управляемого элемента.
В следующем номере: Обработка и прохождение событий.
Кстати, если Вы ищете качественный и недорогой web-хостинг, лично я рекомендую PeterHost.Ru. Российский (поддержим наших), прекрасные каналы, сервис "на уровне". И цены нормальные.