» Навигация
- - - - - - - - - - - - - - - -
  » Наша кнопка
- - - - - - - - - - - - - - - -
   » Обработка нажатия правой кнопки мыши
 
Автор: Алексей Голубев

Сайт: http://www.frnet.narod.ru/

Посмотрите на раздел «Вопрос в рассылку», седьмого выпуска там предложен скрипт, присланный нашим подписчиком SpellBound:

<script language="VBS">
<!--
Sub document_onmousedown()
If window.event.button = 2 Then MsgBox "You can not copy this page. Send me the e-mail, and I shall help you. My adress: mailto:spellbound@zeos.net .", 48, "Protection"
End Sub
-->
</script>
Скрипт, написанный на VBScript, позволяет по нажатию на правую кнопку мыши выдавать сообщения, а так же он запрещает показ всплывающего меню.

Window.event.button возвращает числовой код нажатой кнопки;
If … then – всем известные операторы условия;
MsgBox – процедура, выдающая диалоговое окно с указанным текстом сообщения (в дано случае: «You can not copy this page…»), со значком кода 48 (это восклицательный знак в желтом треугольнике) и заголовком «Protection»;
Sub element_vent() … End sub – стандартная структура обработчика событий не только в VBScript, но и просто в Visual Basic.

Теперь я предлагаю вам посмотреть на скрипт, выполняющий такую же задачу, однако он будет уже написан на JavaScript 1.1, с проверкой типа браузера и поддержкой слев:

<script language="JavaScript1.1">
function right(e) {
if (navigator.appName == 'Netscape' && (e.which == 2))
return false;
else if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2)) {
alert("Извините, здесь нельзя щелкать правой кнопкой.");
return false; }
return true;}
document.onmousedown=right;
if (document.layers) window.captureEvents(Event.MOUSEDOWN);
</script>
Если страница загружена в Netscape, то браузер не вывод на экран никакого сообщения, а лишь запрещает открыть контекстное меню.

Если страница загружена в IE, то вдобавок выводится сообщение, при помощи метода alert.

Думаю, что все догадались, что тип браузера определяется при помощи свойства navigator.appName.

Последние строки привязывают функцию right(e) к событию onMouseDown, так же как и в статье про ролловер (http://www.frnet.narod.ru/article/0014.html).

Вот и все, возникнут вопросы, пишите.

P.S. Вы можете скачать данный пример (оба скрипта в одном архиве).

 

  » Друзья сайта
- - - - - - - - - - - - - - - -
  » Разное
- - - - - - - - - - - - - - - -
  » Счетчики
- - - - - - - - - - - - - - - -
  Дизайнер и ведущий проекта: Голубев Алексей
Copyright Alexei Golubev © 2004
Hosted by uCoz