Вопрос
Интересно узнать, как вставить свой пункт в popup-менюшку IE. Такая менюшка появляется при клике правой кнопкой мыши на области IE, где должна отображаться html-страничка. Там уже есть такие пункты, как "Просмотр html-кода", "Кодировка…" и др.
И если несложно, то как этой строчке меню назначить действия — то, что будет совершать программа при выборе моего пункта меню?
Ответ
Для создания своего пункта в контекстном меню ИЕ создаем в
HKEY_CURRENT_USER\ Software\ Microsoft\ Internet Explorer\ MenuExt\
новый раздел с названием действия.
Далее в параметре Default прописываем имя файла (HTML) с JAVA скриптом, который должен выполнятся. Например:
Создаем в
HKEY_CURRENT_USER\ Software\ Microsoft\ Internet Explorer\ MenuExt\
ключ aaa, в котором параметр Default изменяем на "C:\aaa.html".
на C: в корне создаем файл aaa.html со след. содержанием:
<SCRIPT LANGUAGE="JavaScript" defer>
var pwin = external.menuArguments;
var doc = pwin.document;
var sel = doc.selection;
var rng = sel.createRange();
var str = new String(rng.text);
if(str.length != 0)
rng.text = str.toUpperCase();
</SCRIPT>
(данный скрипт переводит все символы в выделении в верхний регистр)
Гм… готово.
Теперь лезем в ИЕ, открываем какую-нить страничку и…
Так же есть еще две фичи:
1. при создании ключа перед каким либо символом указать "&" (знак AND).
Это даст возможнось, при вылезшем меню запискать скрипт при нажатии на кнопку, стоящую после этого знака.
2. в ключе (там где изменяем Default) можно создать параметр contexts типа DWORD для определения области действия. Возможны значения и их объединения:
0х1 — меню по умолчанию
0х2 — меню для картинок
0х4 — меню для элементов
0х8 — меню для таблиц
0х10 — меню для выделенного текста
0х20 — меня для ссылок
0х40 — меню для неизвестных типов
Т.е. если мы хотим, чтобы пункт меню распространялся только на ссылки и картинки то создаем Contexts со значением 0x22. В нашем же случае можно ограничится только выделенным текстом :), т.е contexts = 0x10
Из конференции Expert_FAQ
Copyright 2000-2004 Сообщество Чайников
Контактная информация