Отправляет email-рассылки с помощью сервиса Sendsay

Программирование на JavaScript

  Все выпуски  

Азы и секреты программирования на JavaScript.


Информационный Канал Subscribe.Ru


Азы и секреты программирования на JavaScript N 21

Ссылка на архив предыдущих выпусков: http://subscribe.ru/
Статистика рассылки: http://subscribe.ru/

Внимание!!
Всем, кто интересуется скрипт-технологиями. Рекомендую подписаться на еженедельную рассылку "Скрипт-технологии". Данная рассылка ориентирована на описание подробной технической информации по тесно связанным между собой WSH, JS и VBS.

Создание собственных псевдособытий

При помощи кода сценария, кроме управления свойствами и вызова методов различных объектов, принадлежащих объектной модели, можно генерировать свои собственные псевдособытия. Все процедуры обработки событий доступны Вашему коду, так что можно вызвать их и непосредственно. Все будет происходить так, как будто событие произошло, хотя, конечно, ни броузер, ни Windows об этом подозревать не будут.

Как и где это можно использовать? Фантазии нет предела! Чтобы проиллюстрировать сказанное, приведу несколько примеров. Например, Вы наверняка обратили внимание на некоторых сайтах, что как только открываешь их страницу, тут-же появляется еще одна. В основном, это сайты для взрослых или хакерские ресурсы. На некоторых может отрыться не одно, а сразу несколько дополнительных страниц. Мне попадались такие, которые открывали до шести(!) страниц одновременно. Как это присходит? Просто на странице записан сценарий, который генерирует собственные события, вызывающие открытие новых окон и загрузку в них нужных документов.

Существуют и такие "перлы" творчества программистов, которые не позволяют пользователю просто так закрыть окно просматриваемой страницы. Здесь по событию onunload броузера вызывается повторная загрузка страницы. Такие сайты "вцепятся" в Ваш броузер и будут держать мертвой хваткой не хуже бульдога. Хотите такой примерчик - пожалуйте:

Файл catch.htm:

   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
   <html><head>
   <meta http-equiv="Content-Type" content="text/html; CHARSET=Windows-1251">
   <title>Попался !</title>
   <SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
   <!--
   function window_onunload() {
8  // window.open("catch.htm");
9  // window.open("catch.htm");
   }
   //-->
   </SCRIPT>
   </HEAD>
   <BODY LANGUAGE=javascript onunload="return window_onunload()">
   <h3 align="center"><font color="#FF0000">Попался !!</font></h3>
   </body>
   </html>
   

Чтобы пример заработал, надо снять комментарии в строках 8 и 9 перед текстом window.open("catch.htm"). Рекомендую предварительно открыть документ в редакторе, а потом уже в броузере. Когда Вы пару раз попытаетесь закрыть этот документ при просмотре броузером, поставьте комментарии обратно, или переименуйте файл. Иначе Вам придется перезагружать компьютер, если Вы не очень ловко действуете мышкой.

Или вот еще пример. Допустим, на странице в разных ее частях рамещены два объекта, которые должны реагировать на наведение на них мышки, причем одновременно. Пишем сценарии для обработки наезда курсора мышки для каждого из объектов, и делаем вызов метода onmouseover для соседнего объекта. Только не забудьте включить обработчик события onmouseout для восстановления исходного состояния, когда мышка уйдет за пределы управляемого элемента.

В следующем номере: Обработка и прохождение событий.


Кстати, если Вы ищете качественный и недорогой web-хостинг, лично я рекомендую PeterHost.Ru. Российский (поддержим наших), прекрасные каналы, сервис "на уровне". И цены нормальные.

Автор и ведущий рассылки И. Балезин
Лучший хостинг в Рунете

InterReklama Advertizing
Интерреклама. Интернет

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное