В Firefox есть очень удобная вещь - поисковые плагины, по умолчанию стоит поиск от Гугла вместе с возможностью suggest (очень приятная иногда штука), поиск от Яндекса , Yandex.Lingvo и Wikipedia устанавливается отдельно. И вот возникло непреодолимое желание сделать такое же чудо для RSDN.ru и MSDN.ru. Итак, по порядку:
  1. Плагины находятся в папке "{Mozilla Firefox Directory}\searchplugins\". Ближайшее рассмотрение подсказывает что это xml-файлы :)
  2. Корневой тэг SearchPlugin с аттрибутом xmlns="http://www.mozilla.org/2006/browser/search/"
  3. Набор внутренние тэги: ShortName и Description - соответственно название и описание; InputEncoding - кодировка запроса; Image - иконка плагина вместе с параметрами width и height, содержит собственно рисунок; SearchForm - так и не понял зачем нужно :(
  4. И, наконец самое интересное - тэг Url. Содержит параметры type, method, template, что, соответственно, тип запроса (например, text/html), метод запроса (get или post), и жаблон адреса поиска. Далее можно перечислить несколько параметров взапроса с помощью тэга Param, причем {searchTerms} - означает поисковое выражение. Что интересно, в плагине от Гугла видим следующие строки:
<param name="rls" value="{moz:distributionID}:{moz:locale}:{moz:official}">
<mozparam name="client" condition="defaultEngine" truevalue="firefox-a" falsevalue="firefox"></mozparam>

Большой брат наблюдает за нами.... Гугл собирает статистику :( Удаляем
но кроме этого в плагине от Гугла есть и автозаполнение:


Зная все выше перечисленное без особого напряжения создаем два файла rsdn.xml и msdn.xml следующего содержания:

rsdn.ru:
<searchplugin xmlns="http://www.mozilla.org/2006/browser/search/">
<shortname>RSDN</shortname>
<description>RSDN</description>
<inputencoding>windows-1251</inputencoding>
<url type="application/x-suggestions+json" method="GET" template="http://suggestqueries.google.com/complete/search?output=firefox&client=firefox&qu={searchTerms}">
<url type="text/html" method="GET" template="http://img.meta.ua/rsdnsearch/">
<param name="q" value="{searchTerms}">
<param name="mode" value="rank">
<param name="group" value="N">
</url>
<searchform>http://img.meta.ua/rsdnsearch/</searchform>
</searchplugin>

msdn.ru:
<searchplugin xmlns="http://www.mozilla.org/2006/browser/search/">
<shortname>MSDN</shortname>
<description>MSDN</description>
<inputencoding>windows-1251</inputencoding>
<url type="application/x-suggestions+json" method="GET" template="http://suggestqueries.google.com/complete/search?output=firefox&client=firefox&qu={searchTerms}">
<url type="text/html" method="GET" template="http://search.microsoft.com/results.aspx">
<param name="q" value="{searchTerms}">
<param name="l" value="2">
</url>
<searchform>http://search.microsoft.com/results.aspx</searchform>
</searchplugin>


Получилось без картинок, но с Suggest`ом.
Кроме того, Suggest можно добавить во все поисковые плагины, очень удобно.

Comments (2)

On 24 апреля 2009 г. в 03:14 , algel комментирует...

У тебя у самого-то это работает?

 
On 25 апреля 2009 г. в 06:31 , Kron0S комментирует...

вполне, и на ff3 тоже