Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: Tepncuxopa от 14 Марта 2002, 17:57:32

Название: Обработчик события
Отправлено: Tepncuxopa от 14 Марта 2002, 17:57:32
Нажатие левой кнопки мыши обрабатывается посредством onClick. А нажатие правой кнопки? И как узнать что именно из контестного меню было выбрано?
Название: А зачем?! :)
Отправлено: Oak от 14 Марта 2002, 19:20:08
Только не говори, что тебя жаба давит SRC показывать

Контекстное меню никак к JS страницы не относится (в Mozilla оно к JS броузера относится, но из страницы не доступно)

А что до номера нажатой кнопки (их может быть от 1ной до 5 или больше) - Посмотри доку про Object Event
Название: Обработчик события
Отправлено: puh от 14 Марта 2002, 22:19:20
Можно использовать onMouseDown. Посмотри здесь:
http://www.ahome.ru/doc/jscript/evhan_onmousedown.html
Название: Обработчик события
Отправлено: DAL от 14 Марта 2002, 22:55:22
Я знаю что не в тему, но раз уж тут обсуждают онмаусы разные, то может кто-нить объяснит что это за команда: onFocus? TNX!
Название: Обработчик события
Отправлено: Oak от 14 Марта 2002, 23:01:57
DAL - Когда этот OBJECT получает себе "фокус ввода с клавиатуры" - т.е становится "активным" - не важно это окно или поле ввода
Название: Обработчик события
Отправлено: Tepncuxopa от 15 Марта 2002, 16:22:02
Цитировать
Только не говори, что тебя жаба давит SRC показывать
Не буду :)
Есть ссылка "Скачать файл". Мне нужно послать уведомление о скачивании на e-mail. А т.к. скачать файл можно нажав на правую кнопку мыши и выбрав из меню "Закачать при помощи ReGet", то возник этот вопрос.
Цитировать
Можно использовать onMouseDown.
Спасибо! Действительно можно :)
Название: Обработчик события
Отправлено: Oak от 15 Марта 2002, 16:34:05
Брр....   Скачать файл можно иймой всяких способов. И не только по правой кнопке, но и по левой и вообще в новом окне открыть или wget-ом. Так что ты логи на сервере смотри или скриптом отдавай файл.
Название: Обработчик события
Отправлено: Tepncuxopa от 15 Марта 2002, 16:47:00
Я знаю, что куча способов есть. Да и не нужно их все отслеживать (это для общей картины).
Логи не помогут, т.к. человек совсем не шарит в этом. Мне нужно готовое решение, по возможности элементарнейшее.
А про скрипт можно поподробнее?
Название: Обработчик события
Отправлено: Metaller от 15 Марта 2002, 16:53:10
Tepncuxopa
Цитировать
А про скрипт можно поподробнее?

Ссылку ставишь не на конечный файл, а на скрипт:



download.phtml:
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=$downfile");
readfile($downfile);
?>
Название: Обработчик события
Отправлено: Oak от 15 Марта 2002, 17:06:32
лучше:

Название: Обработчик события
Отправлено: Макс от 15 Марта 2002, 19:24:27
Имхо более безопсано сделать так:
download.php?file=pkunzip.zip
...// сначало проверку переменной $file
...
... // здесь пишешь фрагмент для отсылуи письма

header("Location: $HTTP_HOST."/files/".$file);
?>
Почему?
1. можно скачать только файлы, к которым есть доступ через www (а в приведенном выше примере можно скачать все, к чему имеет доступ PHP)
2. потому как скрипт не читает файл, а значит меньше нагрузка и исходники никто не скачает.
Ведь в примере Metallerа можно ввести и такую ссылку:
и получить исходник скрипта.
Название: Обработчик события
Отправлено: Oak от 15 Марта 2002, 19:47:39
Да... верное замечание :(  пасиба!
Название: Обработчик события
Отправлено: Pr0Head от 17 Марта 2002, 19:38:55
А чтоб не выбрали "Сохранить объект как..." или "ReGet",  можно отключить правую кнопку мыши.
Название: Обработчик события
Отправлено: Oak от 18 Марта 2002, 03:15:26
ProHead - а смысл ?
 Shift+Click никто не отменял.
Название: Обработчик события
Отправлено: Pr0Head от 18 Марта 2002, 04:38:46
Цитировать
а смысл ?

Чтоб в обход ссылки не пошли, а нажали на нее.

Цитировать
Shift+Click никто не отменял

А что это делает?
На запрете нажатия правой кнопки это никак не отражается.
Название: Обработчик события
Отправлено: Metaller от 18 Марта 2002, 10:24:12
Макс
Естественно, я привел самый примитивный вариант, чтоб человеку понятно было.