|
Расширение возможностей Internet Explorer
Наверняка,
вы скачиваете файлы каким-нибудь менеджером закачек, типа Flashget и видели,
когда щелкали правой кнопкой на ссылке пункты Закачать при помощи Flashget и
т.п.
Обычно, в таких случаях пишут, что программа тесно интегрируется с Internet
Explorer.
Для непосвященных, данное действо кажется сложным и доступным только для гуру
от программирования. На самом же деле, встроить свой пункт в контекстное меню
так же просто,
как два пальца ... показать (а вы что подумали?)
Итак,
наша задача, добавить пункт Хакни текст, который будет преобразовывать все символы
выделенного текста в прописные (для тех кто в танке, прописные буквы - это такие
большие буквы,
которые легче разглядеть человеку, который часами пялится на монитор).
Надеюсь,
ты уже знаешь, что такое реестр и где его искать. Давай его откроем и быстро
идем
в раздел HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt.
Добавляем в него новый раздел, который будет одновременно являться строкой в
контекстном
меню. Кстати, в данном разделе можно использовать символ & перед какой-нибудь
буквой.
В этом случае в контекстном меню данная буква будет подчеркнута, позволяя запустить
скрипт
заданной клавишей. В созданном разделе нужно прописать строку, содержащую путь
к файлу,
в котором находится скриптовая команда.
Разберем поподробнее.Итак, создаем файл hack.html следующего содержания:
<SCRIPT
LANGUAGE="JavaScript" defer>
var parentwin = external.menuArguments;
var doc = parentwin.document;
var sel = doc.selection;
var rng = sel.createRange();
var str = new String(rng.text);
if(str.length == 0)
rng.text ="А диск отформатировать не надо?";
else
rng.text = str.toUpperCase();
</SCRIPT>
и
сохраняем его на диске C:
Теперь в указанном выше разделе реестра создаем раздел &Хакни текст и в
строковом ключе,
созданном по умолчанию пишем "file://c:\hack.html".
Все
готово! Давайте проверим нашу работу. Запускаем любой html-файл, жмем правой
кнопкой и в
появившемся контестном меню выбираем наш пункт Хакни текст.
В результате в браузере появится строка, определенная в сценарии.
Если же мы сначала выделим кусок текста и вызовем контекстное меню,
то после нажатия на наш пункт все выделенные буквы станут прописными.
Итак,
с помощью небольших манипуляций в реестре и создания файла-сценария мы смогли
добавить новые возможности к браузеру. Можно немного усложнить наш пример.
Предположим, мы хотим, чтобы созданный нами пункт появлялся только для меню
выделенного
текста, но не в меню по умолчанию, в меню для картинок и в меню для ссылок.
Для этого в нашем разделе "Хакни текст" создаем параметр типа DWORD
Contexts,
который и будет отвечать за данную политику. Данный параметр является комбинацией
различных значений. Приведем их: CONTEXT_MENU_DEFAULT - 0x1 (меню по умолчанию)
CONTEXT_MENU_IMAGE - 0x2 (меню для картинок) CONTEXT_MENU_CONTROL - 0x4
(меню для элементов) CONTEXT_MENU_TABLE - 0x8 (меню для таблиц)
CONTEXT_MENU_TEXTSELECT - 0x10 (меню для выделенного текста)
CONTEXT_MENU_ANCHOR - 0x20 (меню для ссылок) CONTEXT_MENU_UNKNOWN - 0x40
(меню для неизвестных типов) Таким образом, если мы хотим,
что наш пункт появлялся только в меню ссылок и картинок, используем значение
0x22.
В нашем примере можно ограничиться значением 0x10 (только текст)...
|
|