Web Creation - еженедельный сетевой журнал для вебмастеров

   
Незаменимые инструменты Web-Мастера

Александр Качанов
Информация взята с сайта www.webmascon.com

Выпуск 1-й (часть 3)

 

Можно сказать, что своими утилитами Microsoft раскрыла маленький секрет. Воспользовавшись этим секретом мы сейчас превратим IE в мощное и удобное средство для работы.

Как перестроить поиск

Мне не нравится AltaVista как поисковый сервер. Я предпочитаю www.yandex.ru или www.google.com. Не плохо было бы переключить функцию WebSearch на что-нибудь родное или более удобное. Сделать это - пара пустяков.

На самом деле, когда мы выделяем строку, и вызываем функцию WebSearch, открывается страница с JavaScript-ом, которая "подхватывает" выделенный текст и подает его поисковому серверу как подстроку поиска. Эта страница обитает в каталоге <WINDOWS>\Web\ и называется selsearch.htm. Ее исходный код уместится, как говорится, "на ладони".

<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);

var op = new String ("http://www.go.com/Titles?col=WW&qt="+str+"&svx=home_searchbox&sv=IS&lk=noframes");

if (str=="")
alert ("You must select some text to search for first.");
else
open(op);
</SCRIPT>
</HTML>

Обратите внимание на красную строку. Она содержит знакомый нам по всем поисковым серверам URL, в котором на место обычной искомой фразы (после qt=) вставляется переменная str, которая равна выделенному нами фрагменту текста. Теперь отправимся на наш любимый Google, наберем в поле поиска слово "hello", нажмем Enter. В адресной строке автоматически пропишется URL: http://www.google.com/search?q=hello. Не надо иметь много смекалки, чтобы сообразить, что q= соотвествует переменной, которой передается искомая строка.

Осталось только заменить в selsearch.htm строку

var op = new String ("http://www.go.com/Titles?col=WW&qt="+str+"&svx=home_searchbox&sv=IS&lk=noframes");

на

var op = new String ("http://www.google.com/search?q="+str);

Сохраняем файл. Загружаем IE. Открываем любой документ. Выделяем текст. Вызываем контекстное меню. Выбираем WebSearch.... Оп-ля! Теперь IE ищет выделенное слово на www.google.com.

Строка для Яндекса будет выглядеть так:

var op = new String ("http://www.ya.ru/yandsearch?text="+str);

Как сделать Go to URL

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

В качестве фундамента нам послужит все тот же файл selsearch.htm. После некоторой модификации вместо поиска выделенного слова он будет открывать выделенный адрес.

Скопируем selsearch.htm в новый файл openselurl.htm. Заменим:

var op = new String ("http://www.go.com/Titles?col=WW&qt="+str+"&svx=home_searchbox&sv=IS&lk=noframes");

на

var op = new String ("http://"+ str);

Всего-то: взять выделенный текст и прибавить к нему спереди строку "http://".

Зачем добавлять http://, когда в тексте можно выделить адрес вместе с этой частью? Все дело в том, что иногда адреса в статьях ради экономии места имена сайтов пишут без "http://", например, wwww.motorola.com. Или вообще morotola.com. Наш скрипт сможет открыть любой из них. В случае же, когда адрес написан полностью - выделяйте весь адрес кроме "http://".

Итак, страница создана, теперь нужно, чтобы ссылка на нее появилась в контекстном меню IE. Начинается самое страшное - нам придется править Реестр. Откройте ключ:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt

Здесь примостились уже знакомые нам Hightlight и WebSearch. Сейчас мы создадим для них друга.

1. Создайте новый ключ. Присвойте ему имя "Go to URL". Это имя будет выводиться в контекстном меню.

2. В ключе создайте строковую переменную (String Value). Оставьте ее название (Default). В качестве значения пропишите ей путь к нашему новому файлу (C:\WINNT\WEB\openselurl.htm).

3. Создайте еще одну переменную. На этот раз двоичного типа (Binary Value). Обзовите ее "contexts".

4. Присвойте ей значение "10".

Закройте Редактор Реестра. Откройте новый экземпляр IE. Загрузите документ. Выделите текст. Вызовите контекстное меню. Оп-ля! Новый пункт на экране.

Вообще-то можно поиздеваться над скриптом: выделить, например, целое предложение и попытаться открыть его каr URL. Ну, ничего катастрофического не произойдет. Просто броузер не сможет открыть сайт с доменным именем "http://Пролетарии всех стран, соединяйтесь/".

Ну, вобщем, вы идею поняли... Продолжайте в том же духе.

1. Web Accessories for Internet Explorer 5
2. Microsoft Web Developer Accessories
3. Трюки для умельцев

Александр Качанов
Информация взята с сайта www.webmascon.com

 

© журнал принадлежит Web Creation
по всем вопросам обращаться А. Кузьмин