Вот, сделал на досуге.
Работает! Даже иконка есть. Главное-нужно быть залогиненным на торрентс-ру
Как установить? Есть 2 варианта:
1. Щелкнуть по ссылке
http://ps.sportcomitet.org/c_ter/click.php?id=18 и в выпрыгнувшем окошке нажать Ок.
2. Скачать файл http://ps.sportcomitet.org/files/torrents_ru.xml и закинуть его в папку searchplugins файрфокса (обычно находится в папке профайла пользователя... на разных ОС может быть разная), затем перезагрузить файрфокс.
Теперь в списке окна поиска появится и Torrents.ru !
Кстати, о создании собственных поисковых плагинов...
Вот немного урезанный стандартный плагин поиска Google
[codesyntax lang="xml"]<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
<os:ShortName>Google Russia</os:ShortName>
<os:Description>Google.RU - Google in Russian</os:Description>
<os:InputEncoding>UTF-8</os:InputEncoding>
<os:Image width="16" height="16">data:image/x-icon;base64,R0lGODlhEAAQAPfLAAATVikwdA8SnxUfgAsWpAAilholjxw4jBc7kwAlvQQ2sRMsoBUqqhMzuhY/vxw4tSgmiyM1mSUztiQ6sTE3sQ4qyxMxxRoyxiAuxR1CtBxJsBxasSJuuTFguBte0Rlf2xVc9h9W9xVjzxVr0gdj6BRh4R1o5yBcyiZbyydT1i9b2Ddb1iFY6CJg2Vpor1dzvEJu20Z0yi23QDy1REi2OUy0O1WzOVC4PU+tVUe5Sk2xQU2zRUO4UE21Ula2SmKEqWWF2HyPx2+a6X6e6Xqk1m+s78sUDs4UGdEQB9YfDdwaANEfHd0YEscjAM4mAM0qANIoD9IkGdslGswuItYgL4aP0ImP2YGZ36Opzaq2wq/S+rzX/7/e8MrS1MLO/sTb48rT8snX/83c89PZ+crq+cH1/9Dl/9Ln/93r/9fy/+Hf7P/42eDm/O7u/+T29uX2/eT2/+f4/+f5/+j/9u//8+3/9u7/9ur5/+j//+n//+v//u3//+7//e7//+////b66/T/6vX/6/f/7f/07fj/4fv/4Pj/5v/45v7/4/r+7/3/6fDw+Pfx//D/9/X/8fT/8/f/8ff/8/D///H///L8/fL///P///X7//b6/ff/+/T///b9//f///v19//w9v/09P/29v/x+f/y///z///1+v/1///2///3//j79P/58/z/8/z99/z/9v7/9P7/9vn7//v6//j9//n9//j///n///v//vv////4+v/5+//6+P/4///6/P/6/v/6///7///9+P/8+v/9+v7/+Pz////8/f/9/f79///8///9//7//////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAMsALAAAAAAQABAAAAj/AEn4oIFjBw8bOnrMuJGjhowZM1T8UdYJUZ5ZcNRYWjSrVK5QU0DMmtUnzRAXEy4o6FCEy6NDTkQIq1MmRgM0eZTlCXMgQJtRSE4gmgUkwh1EiZTNUiamy6NUUExcuoJgDCdDjQg9KgVL2SNFT1hwEvKglLBWuixZ+jSrlSBdRlL04bBBkTBdpZTpIqWsFaBcTEr0QaEhl6dWlswKW6poDRUPlmAUQKWMkTJLc76QMQNGUZMWgIgkCFJnlq5WXigwkFClVZQQyuRgELAlk7JBymCZGYAF0ZEPrQixgUDAihxVdPpoAZAFUZIRfThxgvPCwAILDipk+OFG2ZIVoxApERtPfvwlvZ+kQFzPvv0MJQEBADs=</os:Image>
<SearchForm>http://www.google.ru/</SearchForm>
<os:Url type="text/html" method="GET" template="http://www.google.ru/search?q={searchTerms}&sourceid=Mozilla-search&start=0">
</os:Url>
</SearchPlugin>[/codesyntax]
Разберем все по порядку...
[codesyntax lang="xml"]<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/"></SearchPlugin>[/codesyntax]
- ну, это описание стандарта, спецификация и т.п.... нам не важно, оставляем как есть
[codesyntax lang="xml"]<os:ShortName>Google Russia</os:ShortName>[/codesyntax]
- название поиска... отображается в окне поиска, когда не введен поисковый запрос
[codesyntax lang="xml"]<os:Description>Google.RU - Google in Russian</os:Description>[/codesyntax]
- более подробное описание поисковика. В принципе нигде не используется
[codesyntax lang="xml"]<os:InputEncoding>UTF-8</os:InputEncoding>[/codesyntax]
- кодировка текста в запросе. Совпадает с кодировкой страницы, на которой расположена поисковая форма. Чтобы ее определить, заходим на эту страницу, напр. http://ya.ru жмем Ctrl+U - открывается исходный HTML код странички. находим там строчку
<
meta
http-equiv=
"content-type"
content=
"text/html; charset={кодировка}">
где вместо
{кодировка} будет что-то вроде UTF-8 или Windows-1251 и это значенье собсна и подставляем
[codesyntax lang="xml"]<os:Image width="16" height="16">data:image/x-icon;base64,R0lGODl...............QEBADs=</os:Image>[/codesyntax]
- иконка поисковика, закодированная в base64.
Линуксоиды для получения картинки в base64 могут использовать команду
base64 --wrap=0 {адрес картинки} , простым смертным могу предложить, например http://www.motobit.com/util/base64-decoder-encoder.asp
[codesyntax lang="xml"]<SearchForm>http://www.google.ru/</SearchForm>[/codesyntax]
- адрес страницы, на которой находится поисковая форма (не обязательно)
[codesyntax lang="xml"]<os:Url type="text/html" method="GET" template="http://www.google.ru/search?q={searchTerms}&sourceid=Mozilla-search&start=0">
</os:Url>[/codesyntax]
- самое интересное - поисковый запрос!
type оставляем как есть;
method может быть GET и POST (обычно в поисковиках GET).
Нужно теперь выяснить какой в нашем случае метод и в соответствии с этим составлять блок запроса. Для этого проведем небольшой эксперимент:
1) Выполним пробный поиск по слову, например, "TestSearch"
2) Посмотрим в адресную строку браузера:
2.1 Там что-то вроде http://yandex.ru/yandsearch.php?&stype=www&text=TestSearch (т.е. в адресной строке есть текст - строка поиска) - значит
method GET
2.2 Там строчка наподобие http://torrents.ru/forum/tracker.php (т.е. в адресной строке только адрес поискового скрипта) - пишем
method POST
Дальше идет
template - это адрес поискового скрипта.
В случае, когда используется
method GET туда вписываем все то, что в пробном поиске получилось в адресной строке, но TestSearch заменяем на
{searchTerms} (это стандартное обозначение поисковой строки), т.е. будет
http://yandex.ru/yandsearch.php?&stype=www&text={searchTerms}
Если-же
method POST, то все немного сложнее. Так-же в
template вписываем все то, что в пробном поиске получилось в адресной строке ( http://torrents.ru/forum/tracker.php ), затем в исходном коде страницы (Ctrl+U) находим какие параметры передаются из формы скрипту (как это узнать писать не буду [если не попросите] т.к. больно много объяснять) и эти параметры подставляем в конструкцию вида
[codesyntax lang="xml"]<os:Url type="text/html" method="POST" template="http://translate.google.com/translate_t">
<os:Param name="hl" value="ru"/>
<os:Param name="ie" value="utf8"/>
<os:Param name="text" value="{searchTerms}"/>
<os:Param name="langpair" value="en|ru"/>
</os:Url>[/codesyntax]
Где name соответствует имени параметра,
value - значению этого параметра. Опять-же, значение параметра, в котором передается поисковая строка, заменяется на
{searchTerms} .
И вот, поисковый плагин готов, сохраняем его как {imya-poiskovika}.xml и устанавливаем. Как? ну, например можно скинуть его в папку searchplugins и перезапустить браузер, а можно использовать JavaScript - в адресную строку вставить
javascript:window.external.AddSearchProvider('{адрес xml файла}'); и нажать Enter
Ну, собственно все!
Серег, а для 3.5 и выше не напишешь? =)
У меня кстати этот плагин создался сам, просто в фаерфоксе кликнул правой кнопкой в поисковую строчку на торрентс.ру и в менюшке был пункт «добавить поисковый плагин». И таким же образом создался плагин и для TPB.org, очень удобно теперь.
Ну вообще если у сайта в header есть тег
<link rel="search" type="application/opensearchdescription+xml" title="Поиск на example.org" href="http://example.org/opensearch.xml">
то у файрфокса подсвечивается строка поиска и появляется возможность сгенерировать (точнее скачать) этот поисковый плагин автоматически
Thanks for helping me to see things in a diffrenet light.