В стандартном дистрибутиве 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 - /redir.php?url=www.mozilla.ru%2F%3Cbr%3E
<search
name="Google"
description="Google Russia"
method="GET"
action="/redir.php?url=www.google.ru%2Fsearch%26quot%3B%3Cbr%3E
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="/redir.php?url=www.google.ru%2Fsearch" путь по которому будет отправлен поисковый запрос. В нашем случае строка будет выглядеть так: action="/redir.php?url=www.webalta.ru%2Fsearch".
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
# /redir.php?url=creadone.com%3Cbr%3E
# Created: Jule 25, 2006
<search
name="webalta.ru"
description="Webalta search engine"
method="GET"
action="/redir.php?url=webalta.ru%2Fsearch%26quot%3B%3Cbr%3E
queryEncoding="windows-1251"
queryCharset="windows-1251"
>
<input name="q" user>
</search>
Сохраняем полученный файл под именем webalta.ru.src. Теперь дело за малым достать иконку. Идем на www.webalta.ru, смотрим исходный код между <header> и </header>. Ага, иконкой там не пахнет, но браузер ее все же показывает. Значит используется значение по-умолчанию, а именно /redir.php?url=webalta.ru%2Ffavicon.ico Пишем в строке /redir.php?url=webalta.ru%2Ffavicon.ico%2C сохраняем иконку. Берем любой графический редактор и конвертируем иконку в gif. Сохраняем под именем webalta.ru.gif
Закидываем оба файла в папку к остальным плагинам, перегружаем браузер и смотрим в список поисковиков. Там появился новый поиск с именем Webalta.ru. Чего и требовалось сделать.
Аналогичным методом можно добавить не только поисковые машины, но и любой другой сайт у которого есть поиск. Для себя я сделал еще несколько плагинов, один проверяет кому принадлежит ip на nic.ru, другой там же проверяет домен.
Скачать архив с плагином.
Удобного поиска!
Сергей ФедоровСтатья получена: www.SeoNews.ru