Приветствую! Возможно ли создать\существует ли поисковый плагин для поиска внутри сайта через гугл?

becool

Выделить код

Код:

site:vk.com найти мне слово

10vcpw, нужен именно поисковый плагин, чтобы он отображался в списке поисковых плагинов. Например, в строке поиска в выпадающем списке плагинов я выбираю "Поиск на сайте". Набираю в строке "найти мне слово" и получаю такой результат:
https://www.google.ru/search?q=%D0%BD%D … DkarqfgqgK

существует ли поисковый плагин для поиска внутри сайта через гугл?

becool, Кнопка к Custom Buttons есть > Search in Website+

или расширение Site Searcher

Крошка Ру, у меня уже установлен Search Site: https://addons.mozilla.org/ru/firefox/a … arch-site/
Но нужен именно поисковый плагин.

Но нужен именно поисковый плагин

becool, А такое в принципе возможно ? :)

becool
Omnobar (https://addons.mozilla.org/ru/firefox/addon/omnibar/) как альтернатива и более или менее близкая.

Крошка Ру пишет

А такое в принципе возможно ?

Вот и мне интересно

becool пишет

Возможно ли создать\существует ли

Так а вот: Search Site. Не?

Vladimir_S

becool пишет

у меня уже установлен Search Site
Но нужен именно поисковый плагин.

becool
Есть кнопка ищет жестом. Выделил слово ЛКМ вправо.

скрытый текст

Выделить код

Код:

var _this = this;
location == "chrome://browser/content/browser.xul" && (function(event) {  
        var self = arguments.callee; 
        if (!event) {
                ["dragstart", "dragover", "drop"].forEach(function(type) {
                        gBrowser.mPanelContainer.addEventListener(type, self, false);
                });
                   _this.onDestroy = function() {
            ["dragstart", "dragover", "drop"].forEach(function(type) {
                gBrowser.mPanelContainer.removeEventListener(type, self, false);
            });
           };
                return;
        }
        switch (event.type) {
        case "dragstart":
                {
                        self.startPoint = [event.screenX, event.screenY];
                        self.sourceNode = event.target;
                        event.target.localName == "img" && event.dataTransfer.setData("application/x-moz-file-promise-url", event.target.src);
                        break;
                }
        case "dragover":
                {
                        self.startPoint && (Components.classes["@mozilla.org/widget/dragservice;1"].getService(Components.interfaces.nsIDragService).getCurrentSession().canDrop = true);
                        break;
                }
        case "drop":
                {
                        if (self.startPoint && event.target.localName != "textarea" && (!(event.target.localName == "input" && (event.target.type == "text" || event.target.type == "password"))) && event.target.contentEditable != "true") {
                                event.preventDefault();
                                event.stopPropagation();
                                var [subX, subY] = [event.screenX - self.startPoint[0], event.screenY - self.startPoint[1]];
                                var [distX, distY] = [(subX > 0 ? subX : (-subX)), (subY > 0 ? subY : (-subY))];
                                var direction;
                                var t = content.getSelection().toString();
                                if (distX > distY) direction = subX < 0 ? "L" : "R";
                                else direction = subY < 0 ? "U" : "D";                      
                               
                                
                                // Ссылки ....
                                if ( event.dataTransfer.types.contains("text/x-moz-url")) {
                                     if ( direction == "U" ) {
                                          // открыть ссылку в новой активной странице
                                          gBrowser.selectedTab = gBrowser.addTab(event.dataTransfer.getData("text/x-moz-url").split("\n")[0]);
                                          return;
                                          }  
                                
                                     if ( direction == "D" ) {
                                          // открыть ссылку в новой активной странице
                                          gBrowser.selectedTab = gBrowser.addTab(event.dataTransfer.getData("text/x-moz-url").split("\n")[0]);
                                          return;
                                          }    
                                }
                                
                                // Изображения ....
                                if ( event.dataTransfer.types.contains("application/x-moz-file-promise-url")) {
                                     if ( direction == "U" ) {
                                          // открыть изображение в новой активной странице
                                          gBrowser.selectedTab = gBrowser.addTab(event.dataTransfer.getData("application/x-moz-file-promise-url").split("\n")[0]);
                                          return;
                                          }
                                     if ( direction == "D" ) {
                                          // открыть изображение в новой активной странице
                                          gBrowser.selectedTab = gBrowser.addTab(event.dataTransfer.getData("application/x-moz-file-promise-url").split("\n")[0]);
                                          return;
                                          }
                                     if ( direction == "L" ) {
                                          // сохранить изображение или ссылку 
                                          saveImageURL(event.dataTransfer.getData("application/x-moz-file-promise-url"));
                                          return;
                                          } 
                                     if ( direction == "R" ) {
                                          // сохранить изображение или ссылку без запроса на место сохранения
                                          saveImageURL(event.dataTransfer.getData("application/x-moz-file-promise-url"), 0, 0, 0, 1, null, content.document);
                                          return;
                                          }        
                                     }
                                     
                                // Выделенный текст ....
                                if ( event.dataTransfer.getData("text/unicode") ) {                               
                                     if ( direction == "U" ) {
                                          // поиск текста в текущем поисковике в новой активной странице
                                          gBrowser.selectedTab = gBrowser.addTab("http://www.google.com/search?q=" + event.dataTransfer.getData("text/unicode") );                                          
                                          return;
                                          }     
                                     if ( direction == "R") {
                                          // поиск текста на сайте
                                          var text = getBrowserSelection();
var doc = getBrowser (). contentDocument;
        try { var url = doc. location. hostname; }
        catch(e)
        { var url = ""; }  
        var text = escape (convertFromUnicode ("UTF-8", text));
        var url = encodeURIComponent (url);
        var searchUrl = "http://www.google.com/search?as_q=" + text + "&as_sitesearch=" + url;
        gBrowser.selectedTab = gBrowser.addTab( searchUrl );
                                          }
                                      if ( direction == "L" ) {
                                          // сохранить выделенный текст как txt файл
                                          saveImageURL("data:text/plain;charset=UTF-8;base64," + btoa(unescape(encodeURIComponent(event.dataTransfer.getData("text/unicode")))), event.dataTransfer.getData("text/unicode").slice(0, 5) + ".txt");
                                          return;
                                          }     
                                     if ( direction == "D" ) {
                                          // открыть текстовые ссылки
                                          var sel = document.commandDispatcher.focusedWindow.getSelection().toString();
                                          gBrowser.selectedTab = gBrowser.addTab( event.dataTransfer.getData("text/unicode") );                      
                                          }  
                                     }                                 
                                self.startPoint = 0;
                        }
                }
        }
})();



// Подсказка кнопки ............................................................................
this.tooltipText = "CB drag and go \nЗапускает жести мыши для ЛКМ на странице \nЛ: Редактировать эту кнопку";

Мне нужно, чтобы "поиск по текущему сайту" существовал вот в этом списке поисковиков.

Screenshot%20117.jpg

Так, на всякий случай: есть еще Site Searcher, но, увы, - поиск запускается отдельной кнопкой. В остальном вроде соответствует.

Кажется это есть в Context Search https://addons.mozilla.org/en-US/firefo … -search-x/ - поиск в Гугле по сайту - но не через Ctrl+K, а  по правой кнопке в выпадающем списке.

Можно добавить в FAQ

Как добавить поиск по сайту в Панель Поиска (на примере поиска в Google)
(создаём поисковой плагин с поиском по конкретному сайту)

1. Создайте файл (например в программе Notepad++) формата .xml в кодировке UTF-8 (без BOM) с именем вида:
sitevkcom--------google.xml
(имя файла "sitevkcom--------google" выберите какое вам удобно)

2. Код поискового плагина (скопируйте в файл):

Выделить код

Код:

<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
<os:ShortName>site:vk.com - Поиск в Google</os:ShortName>
<os:Description>site:vk.com - Поиск в Google</os:Description>
<os:InputEncoding>UTF-8</os:InputEncoding>
<os:Image width="16" height="16">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABWUlEQVQ4jaXTPUvDQBgH8HyzkiCVdlBcFD+CDgUn0bU5rUMRS6mD4BuCVgfFKmitCl0s+FKhvoEgVvsyWKuRS9JLcvm7tcplSHW44e6e5/c8x91JAaKFZJXWFELRzZBVWgsQLST9JfknInlt9ExRJLMMqSOG67ID7gLb5xbG100h1hNIFyzM51gbu61wnN7Znl14Al+GC7LTas9nMi20bPgHPnUXmatOxbE1E89v3D8wd8DAbGBiw0R/XMfupY3RJcM/oBCKkUUDiUMGF/h1HN+AQiiC0xSa4aL04mBgVvcPTKZNbBYspHIMy3mGJnXx+s4xmBARAVg4Ybh4ctAb66wNJXSUGxx7RfEqBaDa5EgdMSEwmWXIlnwA+Qcb5QbHcLLTbjBGcfboILLq4yX2xXVsFSzUP1zcVzmOb2zsF21EVsRkhVD89zPVJTmqhWWV1rsGVFqRo1r4G6iM33AbQTj+AAAAAElFTkSuQmCC</os:Image>
<SearchForm>https://www.google.ru/search?q=site:vk.com+&amp;btnG=Поиск&amp;newwindow=1&amp;gbv=1</SearchForm>
<os:Url type="text/html" method="GET" template="https://www.google.ru/search" resultDomain="google.ru">
  <os:Param name="q" value="site:vk.com+{searchTerms}"/>
  <os:Param name="btnG" value="Поиск"/>
  <os:Param name="newwindow" value="1"/>
  <os:Param name="gbv" value="1"/>
</os:Url>
</SearchPlugin>

3. где в строке

Выделить код

Код:

<os:Param name="q" value="site:vk.com+{searchTerms}"/>

заменить vk.com на сайт на котором вам нужно искать в Google.

4. Скопируйте созданный файл sitevkcom--------google.xml в каталог профиля profile\searchplugins\ и перезапустите Firefox.

строка

Выделить код

Код:

site:vk.com

говорит Google на каком сайте искать, у других поисковиков вместо site: и параметра q может быть другая конструкция, смотреть её в документации поисковика.

строки

Выделить код

Код:

<os:ShortName>site:vk.com - Поиск в Google</os:ShortName>
<os:Description>site:vk.com - Поиск в Google</os:Description>

это короткое имя и описание поисковика соответственно.

Дополнение. Отредактировал ошибку!

10vcpw пишет

создаём поисковой плагин с поиском по конкретному сайту

10vcpw пишет
Выделить код

Код:

<os:Param name="q" value="site:vk.com+{searchTerms}"/>

заменить vk.com на сайт на котором вам нужно искать в Google.

10vcpw, нужен плагин не для конкретного сайта, а для текущего. Например, открыта страница https://forum.mozilla-russia.org и если при этом я наберу в поисковой строке "ищу" и нажму enter, то получу https://www.google.ru/search?q=%D0%B8%D … OuaduJgIgL
А если я сделаю то же самое на странице https://addons.mozilla.org/ то должен быть такой результат: https://www.google.ru/search?q=%D0%B8%D … HuaPvmgsAJ

becool
Если бы знал, как это сделать написал бы) Но создание дополнений не учил, те кто делал думаю по моей заметки могут легко написать.

becool пишет

поисковый плагин, чтобы он отображался в списке поисковых плагинов

Попробуй CB кодом

скрытый текст

Выделить код

Код:

Services.search.init(() => {
    var data = {
        "Google SiteSearch": {
            url: "https://www.google.ru/search?q={searchTerms}&ie=utf-8&oe=utf-8",
            description: "Google SiteSearch description",
            icon: "data:image/x-icon;base64,AAABAAIAICAAAAEAIACoEAAAJgAAABAQAAABACAAaAQAAM4QAAAoAAAAIAAAAEAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9IVCAMJC9SfCQvWtwkL18sJC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9fLCQvWtwkL1J/SFQgDCQvUowkL178JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvXvwkL1KMJC9a3CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvWtwkL18cJC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9fPCQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/xUz1/9mN9//tx/z/+u3///33///9+v//+vD///LZ/P/lsfr/0W/3/79C9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/9Jy9//67f/////////////68P//57n6/92Y+v/Zjff/3pb6/+e5+v/89f//8dT8/8hf9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/KXfX//ff////////++v//3Zj6/8RH9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8NO9f/wz/z/+/D//8pf9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/+a0+v///////////9mL9//CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8ZR9f/++v//8NT8/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/8NT8///////68P//v0L1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1//LX/P//////y2L1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/qwPr///////Xh/P/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/+Oj////////WiPf/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/9V+9////////vz//8hY9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/9eL9////////////9WG9//CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/+Wv+v//////8tf8/8hW9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/Xhvf//fr////////9+v//xVb1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/9eG9//46P///fX//+Wv+v/Tfvf/yl/1/8ZR9f/EUfX/5bH6/////////////////92Y+v/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/NafX/3Jb6/+Sx+v/tx/z/9eP8///////////////////////goPr/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/tx/z////////////99///1oH3/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/yFj1////////////++3//8ti9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/HW/X////////////hp/r/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/9Bt9//mtvr/89z8//Pc/P///P////////HX/P/ER/X/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/goPr////////////03vz/0Xf3/8ZR9f/NZ/X/7cf8/+3H/P/CTPX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/1Hn3////////////+u3//8ZR9f/CQvX/wkL1/8JC9f/BR/X/89z8//DU/P/BSfX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/vz/z////////////Vhvf/wkL1/8JC9f/CQvX/wkL1/8JC9f/govr//////+Cg+v/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1//33/////////PX//8RH9f/CQvX/wkL1/8JC9f/CQvX/wkL1/9+b+v//////9eP8/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX//ff////////vz/z/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/5a/6///////99///wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/w1Pz//////+i7+v/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/14fz///////rt///CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/9mN9///////78/8/8JC9f/CQvX/wkL1/8JC9f/CQvX/z3L3////////////5bH6/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/w0X1//DS/P/99///yFb1/8JC9f/CQvX/wkL1/8RJ9f/03vz///////zy///IWPX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkz1/+e7+v/14fz/0nT3/8NO9f/Pb/f/8tf8///////9+v//1oj3/8lb9f/DRfX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/85s9f/ksfr/9Nz8//z1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"
        },
        "Bing SiteSearch": {
            url: "http://bing.com/search?q={searchTerms}",
            description: "Bing SiteSearch description",
            icon: "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADXgwD/14MA/9eDAP/XgwD/14MA/9eDAP/XgwD/14MA/9eDAP/XgwD/14MA/9eDAP/XgwD/14MA/9eDAP/XgwD/14MA///hAP//4QD//+EA///hAP/64QL//N8A///hAP//4QD//+EA///hAP//4QD//+EA///hAP//4QD/14MA/9eDAP//4QD//+EA///hAP/Crx3/WVhL/2ZjR//Hthr//+EA///hAP//4QD//+EA///hAP//4QD//+EA/9eDAP/XgwD//+EA///hAP+PhDP/T09P/09PT/9PT0//T09P/4J7O//jygv//+EA///hAP//4QD//+EA///hAP/XgwD/14MA///hAP//4QD/bmlC/5GIM/9SUU7/T09P/09PT/9PT0//VFNP/6OXLP/32wL//+EA///hAP//4QD/14MA/9eDAP//4QD//+EA/09PT/9mYkT/0b4V/4yCNP9RUlH/T09P/09PT/9PT0//Y2BI/8KxG///4QD//+EA/9eDAP/XgwD//+EA///hAP9PT0//T09P/25pQ///4QD/3sYQ/4J7Of9PT0//T09P/09PT/9PT0///+EA///hAP/XgwD/14MA///hAP//4QD/T09P/09PT/9PT0///+EA///hAP/12QX/h342/09PT/9PT0//T09P///hAP//4QD/14MA/9eDAP//4QD//+EA/09PT/9PT0//T09P///hAP//4QD/WVhM/09PT/9PT0//T09P/09PT///4QD//+EA/9eDAP/XgwD//+EA///hAP9PT0//T09P/09PT///4QD/lIgx/09PT/9PT0//Y2FH/5mNLv/Ruxf//+EA///hAP/XgwD/14MA///hAP//4QD/T09P/09PT/9PT0///+EA/3VvPv+mmSj/3sYQ///hAP//4QD//+EA///hAP//4QD/14MA/9eDAP//4QD//+EA/09PT/9PT0//T09P///hAP//4QD//+EA///hAP//4QD//+EA///hAP//4QD//+EA/9eDAP/XgwD//+EA///hAP9PT0//T09P/2ZiRv//4QD//+EA///hAP//4QD//+EA///hAP//4QD//+EA///hAP/XgwD/14MA///hAP//4QD/T09P/2tmQv+rnif//+EA///hAP//4QD//+EA///hAP//4QD//+EA///hAP//4QD/14MA/9eDAP//4QD//+EA//fbAv//4QD//+EA///hAP//4QD//+EA///hAP//4QD//+EA///hAP//4QD//+EA/9eDAP/XgwD/14MA/9eDAP/XgwD/14MA/9eDAP/XgwD/14MA/9eDAP/XgwD/14MA/9eDAP/XgwD/14MA/9eDAP/XgwD/AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ=="
        }
    };
    var pn = "CB.searchEngineIndexes"; cbu.isPref(pn, "{}");
    var pref = Application.prefs.get(pn), indexes = JSON.parse(pref.value);

    var ss = Services.search, engines = [];
    function eng(name) ss.getEngineByName(name);
    for(var name in data) {
        var {url, description, icon} = data[name];
        ss.addEngineWithDetails(name, icon, null, description, "GET", url);
        var engine = eng(name); if (!engine) continue;

        engine.wrappedJSObject._urls[0].getSubmission = function(terms) {
            var {host, protocol} = content.location, suffix = "";
            if (protocol.startsWith("http") && host) suffix += "+site:" + host;
            var url = this.template.replace("{searchTerms}", terms + suffix)
            return { uri: makeURI(url), postData: null };
        }
        engines.push(engine);
    }
    for(var engine of engines) {
        var ind = indexes[engine.name]; if (!ind) continue;
        if (ind[0] == "+") ss.currentEngine = engine;
        ss.moveEngine(engine, Number(ind));
    }
    addDestructor(() => {
        var engines = ss.getVisibleEngines();
        var indexes = {}, curr = ss.currentEngine;
        for(var name in data) {
            var engine = eng(name); if (!engine) continue;
            var ind = engines.indexOf(engine);
            if (ind != -1) indexes[name] = engine == curr ? "+" + ind : ind;
            ss.removeEngine(engine);
        }
        pref.value = JSON.stringify(indexes);
    });
});

https://addons.mozilla.org/ru/firefox/addon/search-site/

Dumby, то что надо, но есть она проблема. Английские слова ищет без проблем. А результатом поиска русских слов является следующее: https://www.google.ru/search?q=%3F%3F%3 … 8&oe=utf-8
Вместо букв знаки вопроса.

becool, Context Search X - не?

becool пишет

Вместо букв знаки вопроса.

А ещё глюки, если несколько окон.

скрытый текст

Выделить код

Код:

Services.search.init(() => {
    var data = {
        "Google SiteSearch": {
            url: "https://www.google.ru/search?q={searchTerms}&ie=utf-8&oe=utf-8",
            description: "Google SiteSearch description",
            icon: "data:image/x-icon;base64,AAABAAIAICAAAAEAIACoEAAAJgAAABAQAAABACAAaAQAAM4QAAAoAAAAIAAAAEAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9IVCAMJC9SfCQvWtwkL18sJC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9fLCQvWtwkL1J/SFQgDCQvUowkL178JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvXvwkL1KMJC9a3CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvWtwkL18cJC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9fPCQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/xUz1/9mN9//tx/z/+u3///33///9+v//+vD///LZ/P/lsfr/0W/3/79C9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/9Jy9//67f/////////////68P//57n6/92Y+v/Zjff/3pb6/+e5+v/89f//8dT8/8hf9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/KXfX//ff////////++v//3Zj6/8RH9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8NO9f/wz/z/+/D//8pf9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/+a0+v///////////9mL9//CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8ZR9f/++v//8NT8/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/8NT8///////68P//v0L1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1//LX/P//////y2L1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/qwPr///////Xh/P/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/+Oj////////WiPf/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/9V+9////////vz//8hY9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/9eL9////////////9WG9//CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/+Wv+v//////8tf8/8hW9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/Xhvf//fr////////9+v//xVb1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/9eG9//46P///fX//+Wv+v/Tfvf/yl/1/8ZR9f/EUfX/5bH6/////////////////92Y+v/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/NafX/3Jb6/+Sx+v/tx/z/9eP8///////////////////////goPr/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/tx/z////////////99///1oH3/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/yFj1////////////++3//8ti9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/HW/X////////////hp/r/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/9Bt9//mtvr/89z8//Pc/P///P////////HX/P/ER/X/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/goPr////////////03vz/0Xf3/8ZR9f/NZ/X/7cf8/+3H/P/CTPX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/1Hn3////////////+u3//8ZR9f/CQvX/wkL1/8JC9f/BR/X/89z8//DU/P/BSfX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/vz/z////////////Vhvf/wkL1/8JC9f/CQvX/wkL1/8JC9f/govr//////+Cg+v/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1//33/////////PX//8RH9f/CQvX/wkL1/8JC9f/CQvX/wkL1/9+b+v//////9eP8/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX//ff////////vz/z/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/5a/6///////99///wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/w1Pz//////+i7+v/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/14fz///////rt///CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/9mN9///////78/8/8JC9f/CQvX/wkL1/8JC9f/CQvX/z3L3////////////5bH6/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/w0X1//DS/P/99///yFb1/8JC9f/CQvX/wkL1/8RJ9f/03vz///////zy///IWPX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkz1/+e7+v/14fz/0nT3/8NO9f/Pb/f/8tf8///////9+v//1oj3/8lb9f/DRfX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/8JC9f/CQvX/wkL1/85s9f/ksfr/9Nz8//z1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"
        },
        "Bing SiteSearch": {
            url: "http://bing.com/search?q={searchTerms}",
            description: "Bing SiteSearch description",
            icon: "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADXgwD/14MA/9eDAP/XgwD/14MA/9eDAP/XgwD/14MA/9eDAP/XgwD/14MA/9eDAP/XgwD/14MA/9eDAP/XgwD/14MA///hAP//4QD//+EA///hAP/64QL//N8A///hAP//4QD//+EA///hAP//4QD//+EA///hAP//4QD/14MA/9eDAP//4QD//+EA///hAP/Crx3/WVhL/2ZjR//Hthr//+EA///hAP//4QD//+EA///hAP//4QD//+EA/9eDAP/XgwD//+EA///hAP+PhDP/T09P/09PT/9PT0//T09P/4J7O//jygv//+EA///hAP//4QD//+EA///hAP/XgwD/14MA///hAP//4QD/bmlC/5GIM/9SUU7/T09P/09PT/9PT0//VFNP/6OXLP/32wL//+EA///hAP//4QD/14MA/9eDAP//4QD//+EA/09PT/9mYkT/0b4V/4yCNP9RUlH/T09P/09PT/9PT0//Y2BI/8KxG///4QD//+EA/9eDAP/XgwD//+EA///hAP9PT0//T09P/25pQ///4QD/3sYQ/4J7Of9PT0//T09P/09PT/9PT0///+EA///hAP/XgwD/14MA///hAP//4QD/T09P/09PT/9PT0///+EA///hAP/12QX/h342/09PT/9PT0//T09P///hAP//4QD/14MA/9eDAP//4QD//+EA/09PT/9PT0//T09P///hAP//4QD/WVhM/09PT/9PT0//T09P/09PT///4QD//+EA/9eDAP/XgwD//+EA///hAP9PT0//T09P/09PT///4QD/lIgx/09PT/9PT0//Y2FH/5mNLv/Ruxf//+EA///hAP/XgwD/14MA///hAP//4QD/T09P/09PT/9PT0///+EA/3VvPv+mmSj/3sYQ///hAP//4QD//+EA///hAP//4QD/14MA/9eDAP//4QD//+EA/09PT/9PT0//T09P///hAP//4QD//+EA///hAP//4QD//+EA///hAP//4QD//+EA/9eDAP/XgwD//+EA///hAP9PT0//T09P/2ZiRv//4QD//+EA///hAP//4QD//+EA///hAP//4QD//+EA///hAP/XgwD/14MA///hAP//4QD/T09P/2tmQv+rnif//+EA///hAP//4QD//+EA///hAP//4QD//+EA///hAP//4QD/14MA/9eDAP//4QD//+EA//fbAv//4QD//+EA///hAP//4QD//+EA///hAP//4QD//+EA///hAP//4QD//+EA/9eDAP/XgwD/14MA/9eDAP/XgwD/14MA/9eDAP/XgwD/14MA/9eDAP/XgwD/14MA/9eDAP/XgwD/14MA/9eDAP/XgwD/AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ=="
        }
    };
    var pn = "CB.searchEngineIndexes", sep = "\u00A0"; cbu.isPref(pn, "");
    var pref = Application.prefs.get(pn), old = pref.value.split(sep);

    var ss = Services.search, names = [];
    function eng(name) ss.getEngineByName(name);
    for(var name of old) {
        if (name in data) continue;
        var engine = eng(name);
        engine && ss.removeEngine(engine);
    }
    for(var name in data) {
        var {url, description, icon} = data[name];
        var engine = eng(name), was = true;
        if (!engine) {
            was = false;
            ss.addEngineWithDetails(name, icon, null, description, "GET", url);
            engine = eng(name);
        }
        if (!engine) continue; else engine = engine.wrappedJSObject;
        if (was) {
            engine._urls = [];
            engine._initFromMetadata(name, icon, null, description, "GET", url, null);
        }
        engine._queryCharset = "utf-8";
        engine._urls[0].getSubmission = function(terms) {
            var {host, protocol} = content.location, suffix = "";
            if (protocol.startsWith("http") && host) suffix += "+site:" + host;
            var url = this.template.replace("{searchTerms}", terms + suffix);
            return { uri: makeURI(url), postData: null };
        }
        names.push(name);
    }
    pref.value = names.join(sep);
});

Dumby, ну, вроде работает! Премного благодарен! Перерыл весь инет - до сих пор удивлен, почему подобное до сих пор не реализовано... вроде же удобство налицо...