|
В стандартном дистрибутиве Firefox есть несколько плагинов для поиска по различным сайтам. По умолчанию нам предлагают искать по довольно известным сайтам: Google, Yandex, Ru Filesearch, Yandex.lingvo, Price.ru, ru.Wikipedia. Мне захотелось искать из браузера по вебальте, но этого поисковика в списке плагинов нет (абыдна!). Чтобы добавить еще несколько плагинов надо перейти на страницу http://www.mozilla.ru/searchengines/ и огорчиться. Этой страницы не существует, по крайней мере, я до нее достучаться не смог. Поэтому будем использовать альтернативные методы внедрения.
|
|
Поверностный анализ показал, поисковые плагины для Firefox в ОС Windows XP находятся в папке по адресу: c:\Program Files\Mozilla Firefox\searchplugins\. Берем для вивисекции первый попавшийся, я выбрал Google. Итак, плагин для поиска состоит из двух файлов. Первый – google-ru.gif – это иконка, она служит для идентификации уже выбранного поисковика. Второй – google-ru.src – этой файл отвечает за построение запроса к поисковику.
|
|
"Зрим в корень" файла google-ru.src:
|
|
# Mozilla/Google plug-in by amitp+mozilla[at]google.com
# Localized by Unghost - http://www.mozilla.ru/
<search
name="Google"
description="Google Russia"
method="GET"
action="http://www.google.ru/search"
queryEncoding="utf-8"
queryCharset="utf-8"
>
<input name="q" user>
<inputnext name="start" factor="10">
<inputprev>
<input name="ie" value="utf-8">
<input name="oe" value="utf-8">
<interpret
browserResultType="result"
charset = "UTF-8"
resultListStart="<!--a-->"
resultListEnd="<!--z-->"
resultItemStart="<!--m-->"
resultItemEnd="<!--n-->"
>
</search>
<browser
update="https://addons.mozilla.org/searchplugins/updates/google-ru.src"
updateIcon="https://addons.mozilla.org/searchplugins/updates/google-ru.gif"
updateCheckDays="1"
>
|
|
Видим xml'подобный файл. Первые две строчки это описание плагина и имя автора. Далее идет блок "search", который содержит в себе правила отправки запроса к поисковику. Рассмотрим их подробнее:
|
|
name="Google" – имя поисковой машины. Используется для идентификации поисковика в выпадающем списке браузера. Меняем это строчку на нашу – name="Webalta.ru".
description="Google Russia" – эта строка является более подробным описанием. Где оно используется я так и не нашел. Но раз есть, то пусть будет. Заменяем ее строчкой – description="Webalta search engine".
method="GET" – это правило указывает браузеру метод отправки запроса. Либо GET либо POST. Вебальта как и другие поисковики любит GET. Оставляем как есть.
action="http://www.google.ru/search" – путь по которому будет отправлен поисковый запрос. В нашем случае строка будет выглядеть так: action="http://www.webalta.ru/search".
queryEncoding="utf-8" – как видно из названия это правило указывает кодировку запроса. Firefox по-умолчанию отправляет запрос в кодировке utf-8, но вебальта пока не понимает ее, перекодируем запрос в windows-1251. Строка будет выглядеть так: queryEncoding="windows-1251".
queryCharset="utf-8" – набор символов. Устанавливаем в windows-1251, то есть – queryCharset="windows-1251".
<input name="q" user> – строка определяет имя переменной. По уже давно сложившейся традиции для запроса (query) используют переменную q. Слово user браузер подменит наш запрос перекодированный по правилу описанному в предыдущих двух абзацах.
Далее идет блок описывающий выдачу результата специфичного только для Google. Поэтому, мы можем со спокойной совестью его удалить. Чтобы не ошибиться, удаляем строки от <inputnext name="start" factor="10"> и до первого встретившегося символа > включительно.
</search> – закрываем блок описывающий правила отправки запроса.
Следующий блок начинающийся строкой – <browser рассказывает браузеру по каким адресам нужно искать обновления для этого плагина, а так же период проверки на свежую версию. Раз плагин мы соорудили сами, обновление нам брать неоткуда – убиваем этот блок.
|
|
В результате вышеописанных действий у нас должен получиться вот такой код:
|
|
# Mozilla/webalta.ru
# Autor: advertizer[at]gmail.com
# http://creadone.com
# Created: Jule 25, 2006
<search
name="webalta.ru"
description="Webalta search engine"
method="GET"
action="http://webalta.ru/search"
queryEncoding="windows-1251"
queryCharset="windows-1251"
>
<input name="q" user>
</search>
|
|
Сохраняем полученный файл под именем – webalta.ru.src. Теперь дело за малым – достать иконку. Идем на www.webalta.ru, смотрим исходный код между <header> и </header>. Ага, иконкой там не пахнет, но браузер ее все же показывает. Значит используется значение по-умолчанию, а именно http://webalta.ru/favicon.ico Пишем в строке http://webalta.ru/favicon.ico, сохраняем иконку. Берем любой графический редактор и конвертируем иконку в gif. Сохраняем под именем webalta.ru.gif
|
|
Закидываем оба файла в папку к остальным плагинам, перегружаем браузер и смотрим в список поисковиков. Там появился новый поиск с именем Webalta.ru. Чего и требовалось сделать.
|
|
Аналогичным методом можно добавить не только поисковые машины (или список поисковиков), но и любой другой сайт у которого есть поиск. Для себя я сделал еще несколько плагинов, один проверяет кому принадлежит ip на nic.ru, другой там же проверяет домен.
|
|
Скачать архив с плагином.
|
|
Удобного поиска!
|