Полезная информация

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№10101-01-2016 17:20:20

villa7
Участник
 
Группа: Members
Зарегистрирован: 21-07-2012
Сообщений: 2235
UA: Firefox 42.0

Re: [CB]Context Search

Dumby
Спасибо.


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№10213-01-2016 19:10:22

2k1dmg
Участник
 
Группа: Members
Зарегистрирован: 06-04-2011
Сообщений: 190
UA: Firefox 43.0

Re: [CB]Context Search

Отсутствует

 

№10314-01-2016 01:22:43

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 36.0
Веб-сайт

Re: [CB]Context Search

2k1dmg пишет

Уважаемый 2k1dmg,
У меня есть несколько предложений по Вашей кнопке, а также вопросов.
1. Кнопка осуществляет поиск в кэше (Гугл, ВэбАрхив). Но для этого не нужно выделение слова - его приходится выделять только, чтобы вызвать через КонтекстМеню поиск. Нельзя ли сделать так, чтобы менюитем этого поиска присутствовал бы в КонтекстМеню всегда - тогда бы не надо было искусственного выделения для поиска в кэше.
2. Есть много сайтов - анализаторов СЕО и другой информации о сайтах по их URL (аналогично поиску в кэше) - такие сайты тоже можно было бы ввести как поисковые, если бы менюитем поиска по Вашей кнопке присутствовал бы в КонтекстМеню всегда и если бы в случае когда ничего не выделено - при вызове того или  иного поисковика, подавал бы на его вход URL текущего сайта. Кстати, в этом случае ВэбАрхив может тоже быть добавлен пользователем как обычный поисковик. С Гугл кэш у меня так не получилось. Но его (единственного) можно добавить без подменю - как обычную иконку.
3. Таким образом останется лишь одно подменю - поиск по текущему сайту через гугл или яндекс (я бы их тоже добавил бы двумя иконками и избавился бы от подменю вообще)
4. Очень желательно добавить поиск картинок по картинкам. В приципе, такие поисковики - это обычные поисковики, на вход которых подаётся src картинки (обычно - URL).
То есть, если добавить правило: если ничего не выбрано, а  правый клик на картинке - на выбранный поисковик подаётся src картинки - тогда пользователь мог бы добавить в список  поисковиков поисковики картинок по картинкам (Гугл, Яндекс, TinEye, KarmaDecay и др.)
5. К правилу п.4 можно было бы добавить: если ничего не выбрано, а правый клик - на линке (но не на картинке) - поиск по URL линка
6. Было бы совсем роскошно добавить ещё и поле ввода, чтобы можно было бы делать  поиск не только по выделенному тексту, но и набранному. Тогда бы не нужно было бы дополнения Ctrl Ctrl. Если делать поле ввода сложно, то можно было бы использовать findbar...
7. Можно ли добавить вызов Вашего мини-меню кликом на кнопку? Чтоб не только через вызов контекстного меню?
8. У меня также вопрос касательно мини-меню: оно у Вас организовано в 5 колонок с интервалами между ними а также с отступами слева и справа.
Можно ли узнать, где в Вашем коде задаётся число колонок, отступы слева и справа и интервалы как по горизонтали, так и по вертикали?
Я это спрашиваю не для того, чтобы менять, а чтобы научиться как сооружать такое меню.
Спасибо

Отредактировано difabor (14-01-2016 01:26:53)


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№10414-01-2016 18:21:39

2k1dmg
Участник
 
Группа: Members
Зарегистрирован: 06-04-2011
Сообщений: 190
UA: Firefox 43.0

Re: [CB]Context Search

difabor
1. Да, это не привычно, но так меньше кода.
4. Он и так есть.
8. CSS и эта часть:

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

Выделить код

Код:

let counterMaxLength = options.campactMenuLengthPerLine;
        if (typeof counterMaxLength != 'number' ||
            3 > counterMaxLength || counterMaxLength > 10)
            counterMaxLength = 5;
        let counter = 0;
        let hBox;
        let itemCreateCampact = function(engine, last) {


А по всему остальному: ничего нового добавлять не планирую, сохранить бы в рабочем состоянии что есть.

Отсутствует

 

№10514-01-2016 21:51:31

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB]Context Search

difabor пишет

Я это спрашиваю не для того, чтобы менять, а чтобы научиться как сооружать такое меню.

Другой пример:

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3EDoubleM%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAQElEQVR42mNkIBEwAvG/f/+IVM3ExATVAGQRVA1RhtCwf/9+ZGlHR8d//2YgmZ0xqmGYaCAtaRBUDbMHrIEkAABT+ooR2wR10QAAAABJRU5ErkJggg%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%20....................%20%0Athis._handleClick%20%3D%28%29%3D%3E%20popup.openPopup%28this%29%3B%0A%0A%0A//%20%u0421%u043E%u0437%u0434%u0430%u0442%u044C%20%u0434%u0432%u0443%u0445%u0441%u0435%u043A%u0446%u0438%u043E%u043D%u043D%u043E%u0435%20%u043C%u0435%u043D%u044E%20......................%20%0Avar%20popup%20%3D%20addElement%28%22menupopup%22%2C%20%7B%0A%20%20%20position%3A%20%22after_start%22%2C%0A%20%20%20oncontextmenu%3A%20%22return%20false%22%2C%0A%20%20%20style%3A%20%22-moz-appearance%3A%20none%3B%20border%3A%201px%20solid%22%0A%7D%2C%20self%29%3B%0A%0Avar%20mainBox%20%3D%20addElement%28%22hbox%22%2C%20%7B%7D%2C%20popup%29%3B%0Avar%20leftBox%20%3D%20addElement%28%22vbox%22%2C%20%7B%7D%2C%20%20mainBox%29%3B%20%20%20%20%20//%20%u041B%u0435%u0432%u043E%u0435%20%u043C%u0435%u043D%u044E%0Avar%20rightBox%20%3D%20addElement%28%22vbox%22%2C%20%7B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//%20%u041F%u0440%u0430%u0432%u043E%u0435%20%u043C%u0435%u043D%u044E%0A%20%20%20style%3A%20%22background-color%3A%20rgb%28241%2C%20245%2C%20251%29%3B%20box-shadow%3A%201px%200px%202px%20rgb%28204%2C%20214%2C%20234%29%20inset%3B%22%20//%20%u0441%u0442%u0438%u043B%u044C%20%u043F%u0440%u0430%u0432%u043E%u0433%u043E%20%u043C%u0435%u043D%u044E%0A%7D%2C%20mainBox%29%3B%0A%0A%0A%0A//%20%u041B%u0435%u0432%u044B%u0435%20%u043F%u0443%u043D%u043A%u0442%u044B%20%u043C%u0435%u043D%u044E%20......................%20%0Avar%20leftItem0%20%3D%20addElement%28%22menuitem%22%2C%20%7B%0A%20%20%20label%3A%20%22%u041D%u043E%u0432%u043E%u0435%20%u043F%u0440%u0438%u0432%u0430%u0442%u043D%u043E%u0435%20%u043E%u043A%u043D%u043E%22%2C%0A%20%20%20oncommand%3A%20%22OpenBrowserWindow%28%7Bprivate%3A%20true%7D%29%22%2C%0A%20%20%20image%3A%20%22chrome%3A//browser/skin/Privacy-16.png%22%0A%7D%2C%20leftBox%29%3B%0A%0Avar%20leftItem1%20%3D%20addElement%28%22menuseparator%22%2C%20%7B%7D%2C%20%20leftBox%29%3B%0A%0Avar%20leftItem2%20%3D%20addElement%28%22menuitem%22%2C%20%7B%0A%20%20%20label%3A%20%22%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0444%u0430%u0439%u043B%22%2C%0A%20%20%20oncommand%3A%20%22BrowserOpenFileWindow%28%29%22%0A%7D%2C%20leftBox%29%3B%0A%0Avar%20leftItem3%20%3D%20addElement%28%22menuitem%22%2C%20%7B%0A%20%20%20label%3A%20%22%u0421%u043E%u0445%u0440%u0430%u043D%u0438%u0442%u044C%20%u043A%u0430%u043A%u2026%22%2C%0A%20%20%20oncommand%3A%20%22saveDocument%28window.content.document%29%22%0A%7D%2C%20leftBox%29%3B%0A%0Avar%20leftItem4%20%3D%20addElement%28%22menuitem%22%2C%20%7B%0A%20%20%20label%3A%20%22%u041F%u0435%u0447%u0430%u0442%u044C%u2026%22%2C%0A%20%20%20oncommand%3A%20%22PrintUtils.print%28%29%22%0A%7D%2C%20leftBox%29%3B%0A%0Avar%20leftItem5%20%3D%20addElement%28%22menuseparator%22%2C%20%7B%7D%2C%20%20leftBox%29%3B%0A%0Avar%20leftItem6%20%3D%20addElement%28%22menu%22%2C%20%7B%0A%20%20%20label%3A%20%22%u0412%u0435%u0431-%u0440%u0430%u0437%u0440%u0430%u0431%u043E%u0442%u043A%u0430%u2026%22%2C%0A%20%20%20onclick%3A%20%22gDevToolsBrowser.toggleToolboxCommand%28gBrowser%29%22%0A%7D%2C%20leftBox%29%0A.appendChild%28document.getElementById%28%27menuWebDeveloperPopup%27%29.cloneNode%28true%29%29%3B%0A%0Avar%20leftItem7%20%3D%20addElement%28%22menuseparator%22%2C%20%7B%7D%2C%20%20leftBox%29%3B%0A%0Avar%20leftItem8%20%3D%20addElement%28%22menuitem%22%2C%20%7B%0A%20%20%20label%3A%20%22%u041F%u043E%u043B%u043D%u044B%u0439%20%u044D%u043A%u0440%u0430%u043D%22%2C%0A%20%20%20oncommand%3A%20%22BrowserFullScreen%28%29%22%0A%7D%2C%20leftBox%29%3B%0A%0Avar%20leftItem9%20%3D%20addElement%28%22menuitem%22%2C%20%7B%0A%20%20%20label%3A%20%22%u041D%u0430%u0441%u0442%u0440%u043E%u0438%u0442%u044C%20Sync%u2026%22%2C%0A%20%20%20oncommand%3A%20%22gSyncUI.openSetup%28%29%22%0A%7D%2C%20leftBox%29%3B%0A%0Avar%20leftItem10%20%3D%20addElement%28%22menuitem%22%2C%20%7B%0A%20%20%20label%3A%20%22%u0417%u0430%u043A%u0440%u044B%u0442%u044C%20%u0431%u0440%u0430%u0443%u0437%u0435%u0440%22%2C%0A%20%20%20oncommand%3A%20%22Application.quit%28%29%22%0A%7D%2C%20leftBox%29%3B%0A%0A%0A%0A//%20%u041F%u0440%u0430%u0432%u044B%u0435%20%u043F%u0443%u043D%u043A%u0442%u044B%20%u043C%u0435%u043D%u044E%20......................%20%0Avar%20rightItem0%20%3D%20addElement%28%22menu%22%2C%20%7B%0A%20%20%20label%3A%20%22%u0417%u0430%u043A%u043B%u0430%u0434%u043A%u0438%22%2C%0A%20%20%20image%3A%20%22chrome%3A//custombuttons/skin/button.png%22%2C%0A%7D%2C%20rightBox%29%0A.appendChild%28document.getElementById%28%27bookmarksMenuPopup%27%29.cloneNode%28true%29%29%3B%0A%0Avar%20rightItem1%20%3D%20addElement%28%22menuitem%22%2C%20%7B%0A%20%20%20label%3A%20%22menuitem%20R1%22%2C%0A%20%20%20image%3A%20%22chrome%3A//global/skin/icons/information-16.png%22%2C%0A%20%20%20oncommand%3A%20%22alert%28this.label%29%3B%22%0A%7D%2C%20rightBox%29%3B%0A%0Avar%20rightItem2%20%3D%20addElement%28%22menuseparator%22%2C%20%7B%7D%2C%20%20rightBox%29%3B%0A%0A%0A%0A//%20%u0421%u043E%u0437%u0434%u0430%u0432%u0430%u0442%u044C%20%u044D%u043B%u0435%u043C%u0435%u043D%u0442%u044B%20%u0441%20%u0443%u043A%u0430%u0437%u0430%u043D%u043D%u044B%u043C%u0438%20%u0430%u0442%u0440%u0438%u0431%u0443%u0442%u0430%u043C%u0438%20......................%20%0Afunction%20addElement%28elementName%2C%20attributes%2C%20parent%29%20%7B%0A%20%20%20var%20element%20%3D%20document.createElement%28elementName%29%3B%0A%20%20%20%0A%20%20%20element.id%20%3D%20_id%20+%20%22-%22%20+%20elementName%20+%20%22-%22%20+%20Date.now%28%29%3B%20%20%20%0A%20%20%20for%20%28%20var%20attribute%20in%20attributes%20%29%20element.setAttribute%28attribute%2C%20attributes%5Battribute%5D%29%3B%0A%20%20%20if%20%28%20%5B%22menu%22%2C%20%22menuitem%22%5D.indexOf%28elementName%29%20%21%3D%20-1%20%29%20element.classList.add%28elementName%20+%20%22-iconic%22%29%3B%0A%20%20%20%0A%20%20%20return%20parent.appendChild%28element%29%3B%0A%7D%3B%0AaddDestructor%28%28%29%3D%3E%20popup.remove%28%29%20%29%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Отсутствует

 

№10618-01-2016 17:54:48

PEAKTOP
Участник
 
Группа: Members
Зарегистрирован: 07-10-2009
Сообщений: 116
UA: unknown 0.0

Re: [CB]Context Search

2k1dmg, а какие кардинальные отличия от версии 2013-10-10? Я визуальных не нашёл.


1. Приму из добрых рук щедрый дар - инвайт на Хабр и Лепру
2. Бессмысленно осмысливать смысл неосмысленными мыслями!
3. Прежде чем подумать - подумай!

Отсутствует

 

№10718-01-2016 18:30:34

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1219
UA: Firefox 43.0

Re: [CB]Context Search

PEAKTOP
Вот скрин, который высылал 2k1dmg. Так стало в 43-й версии [firefox]. Исправление этого и есть изменение.

скрытый текст
yYs2kRo.png

Отредактировано xrun1 (18-01-2016 18:34:20)

Отсутствует

 

№10814-02-2016 20:16:58

Mishania
Забанен
 
Группа: Members
Откуда: Usa
Зарегистрирован: 22-10-2011
Сообщений: 357
UA: Firefox 44.0

Re: [CB]Context Search

Добрый вечер, перестал работать поиск в NewsFox. http://take.ms/r0qjI
И ещё в полях ввода, но тут не уверен что работало раньше. FF42, Custom Buttons 0.0.5.8.2 (на 0.0.5.8.1 тоже не работает).
PS. Проверил одноимённое расширение - работает.

Моя вина, делал новый профиль и перепутал кнопки Context Search 2 2016-01-19 - работает.

Отредактировано Mishania (16-02-2016 10:34:18)

Отсутствует

 

№10920-11-2016 12:36:15

Злой Буратино
Участник
 
Группа: Members
Зарегистрирован: 09-12-2011
Сообщений: 98
UA: Firefox 51.0

Re: [CB]Context Search

del

Отредактировано Злой Буратино (27-11-2016 10:28:44)

Отсутствует

 

№11024-01-2017 14:56:24

1fesFFFF
Участник
 
Группа: Members
Зарегистрирован: 22-01-2010
Сообщений: 252
UA: Firefox 51.0

Re: [CB]Context Search

bunda1
Добрый день. На firefox 51 x64, перестал работать Context Search - его просто нет в контекстном меню.

Отредактировано 1fesFFFF (24-01-2017 14:57:44)

Отсутствует

 

№11124-01-2017 15:06:56

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 50.0

Re: [CB]Context Search

1fesFFFF
В 51-й, вообще кнопки перестали работать с текущей версией на АМО
Custom Buttons | Форум Mozilla Россия

Отсутствует

 

№11224-01-2017 15:17:35

1fesFFFF
Участник
 
Группа: Members
Зарегистрирован: 22-01-2010
Сообщений: 252
UA: Firefox 51.0

Re: [CB]Context Search

bunda1

И дабы не плодить темы, ещё у меня сломалась функция, которая работала из папки chrome - ScrollSearchEngines.uc  - позволяла менять поисковые движки колёсиком мыши.

Вот сам файл ссылка ,  а вот его содержимое:
Чтобы это всё работало, установлено дополнение  UC

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

Выделить код

Код:

// ==UserScript==
// @name           Scroll Search Engines
// @namespace      http://amb.vis.ne.jp/mozilla/
// @description    Change the selected search engine by scroll wheel on 'Search xxx for yyy' menu and do search by middle-clicking the menu.
// @include        main
// @compatibility  Firefox 2.0 3.0 3.1 3.2a1
// @author         Gomita
// @permalink      http://amb.vis.ne.jp/mozilla/?p=71
// @contributor    Alice0775, .
// @Note           http://space.geocities.yahoo.co.jp/gl/alice0775
// @version        2009/02/20 18:00 works without searchbar by alice0775
// @version        2009/02/18 21:00 works with full screen mode by alice0775
// ==/UserScript==
// @version        2007/10/21 03:50 compatibility with Fx3 and conqueryModoki2.uc.xul and performance improved by alice0775
// @version        2007.01.18
(function()
{
    const nsIBSS = Components.interfaces.nsIBrowserSearchService;
    const searchService =Components.classes["@mozilla.org/browser/search-service;1"]
                         .getService(nsIBSS);
    var timer,index;
    try{
      var searchBar = BrowserSearch.getSearchBar();
    }catch(e){
      var searchBar = BrowserSearch.searchBar;  //fx3
    }

    var mouseScrollHandler = function(event)
    {
        var engineName,flg;
        var engines = searchService.getVisibleEngines({ });
        // make sure that search bar is visible
        //if (!searchBar)
        //    return;
        event.stopPropagation();
        // Find the new index
        if(!index) index = engines.indexOf(searchService.currentEngine);
        // change search engine
        var i = index;
        if(event.detail > 0){
          do{
            i = i + 1;
            if(i >= engines.length) {
              i= index;
              break;
            }
            engineName = engines[i].name;
            flg = engineName.match(/-{2,}|\u2015{2,}/)
                  || (engineName.match(/^{/) && !engineName.match(/}/))
                  || (engineName.match(/}/)  && !engineName.match(/{/))
          }while(flg)
        }else{
          do{
            i = i - 1;
            if(i < 0 ) {
              i= index;
              break;
            }
            engineName = engines[i].name;
            flg = engineName.match(/-{2,}|\u2015{2,}/)
                  || (engineName.match(/^{/) && !engineName.match(/}/))
                  || (engineName.match(/}/)  && !engineName.match(/{/))
          }while(flg)
        }
        index = i;
        if(!gContextMenu){
          searchService.currentEngine = engines[i];  //指示されたエンジンにする
          return;
        }
        // update context menu label
        if(timer) clearTimeout(timer);
        engineName = engines[i].name;
        var label = gNavigatorBundle.getFormattedString("contextMenuSearchText", [engineName, getBrowserSelection(16)]);
        var menuitem = event.originalTarget;
        menuitem.engine = engines[i];
        menuitem.setAttribute("label", label);
        // update context menu icon
        timer = setTimeout(function(){
          searchService.currentEngine = engines[i];
          var iconURI = engines[i].iconURI;
          if (iconURI)
              menuitem.setAttribute("src", iconURI.spec);
          else
              menuitem.removeAttribute("src");
        },100);
    };

    if (searchBar) {
      // enable to change search engine by mouse-wheel on engine button
      document.getAnonymousElementByAttribute(searchBar, "anonid", "searchbar-engine-button")
          .addEventListener("DOMMouseScroll", mouseScrollHandler, false);
    }
    document.getElementById("cmd_CustomizeToolbars").addEventListener("DOMAttrModified", function(e) {
      if (e.attrName == "disabled" && !e.newValue){
        try{
          var searchBar = BrowserSearch.getSearchBar();
        }catch(e){
          var searchBar = BrowserSearch.searchBar;  //fx3
        }
        if(searchBar) document.getAnonymousElementByAttribute(searchBar, "anonid", "searchbar-engine-button").addEventListener("DOMMouseScroll", mouseScrollHandler, false);
      }
    }, false);
    var searchMenu = document.getElementById("context-searchselect");
    if(!searchMenu) return;
    // enables to change search engine by mouse-wheel on context menu
    searchMenu.addEventListener("DOMMouseScroll", mouseScrollHandler, false);
    // update context menu icon on showing popup
    document.getElementById("contentAreaContextMenu").addEventListener("popupshowing",function(aEvent)
    {
        var ss = Cc["@mozilla.org/browser/search-service;1"].
                 getService(Ci.nsIBrowserSearchService);
        if(aEvent.originalTarget != document.getElementById('contentAreaContextMenu')) return;
        if (!gContextMenu || !gContextMenu.isTextSelected)
            return;
        // update context menu icon
        var menuitem = document.getElementById("context-searchselect");
        var iconURI = ss.currentEngine.iconURI;
        if (iconURI)
            menuitem.setAttribute("src", iconURI.spec);
        else
            menuitem.removeAttribute("src");
    }, false);
    // enable to search by middle-click
    searchMenu.addEventListener("click", function(event)
    {
        if (event.button == 1)
        {
            searchMenu.loadSearch(getBrowserSelection(), true, searchMenu.engine);
            event.originalTarget.parentNode.hidePopup();
        }
    }, false);

    searchMenu.loadSearch = function(searchText, useNewTab, engine) {
      var ss = Cc["@mozilla.org/browser/search-service;1"].
               getService(Ci.nsIBrowserSearchService);
      if (typeof engine == "undefined"){
        // If the search bar is visible, use the current engine, otherwise, fall
        // back to the default engine.
        //if (isElementVisible(this.searchBar))
          engine = ss.currentEngine;
        //else
        //  engine = ss.defaultEngine;
      }
      var submission = engine.getSubmission(searchText, null); // HTML response

      // getSubmission can return null if the engine doesn't have a URL
      // with a text/html response type.  This is unlikely (since
      // SearchService._addEngineToStore() should fail for such an engine),
      // but let's be on the safe side.
      if (!submission)
        return;

      if (useNewTab) {
        gBrowser.loadOneTab(submission.uri.spec, null, null,
                            submission.postData, window.fullScreen?false:null, false);
      } else
        loadURI(submission.uri.spec, null, submission.postData, false);
    }
    searchMenu.setAttribute("oncommand", "this.loadSearch(getBrowserSelection(), true, this.engine);");
    // ready to show icon in search menu
    document.getElementById("context-searchselect").className = "menuitem-iconic";
}());

В 51-й, вообще кнопки перестали работать

какая-нибудь рабочая бета-версия CB есть?

Отредактировано 1fesFFFF (24-01-2017 15:18:05)

Отсутствует

 

№11324-01-2017 15:38:33

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 50.0

Re: [CB]Context Search

1fesFFFF

какая-нибудь рабочая бета-версия CB есть?

Так ссылка в сообщении
рабочая бета-версия CB

Отсутствует

 

№11424-01-2017 15:44:58

sonyas75
Участник
 
Группа: Members
Откуда: Ставрополь
Зарегистрирован: 22-03-2011
Сообщений: 557
UA: Firefox 45.0

Re: [CB]Context Search

oleg.sgh
404-я

Отсутствует

 

№11524-01-2017 15:55:57

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 50.0

Re: [CB]Context Search

Здесь умельцы выкладывали исправленную
https://cloud.mail.ru/public/FYVt/Wgi1kgRi8
Нужно сделать это
Как отключить проверку цифровых подписей в дополнениях Firefox | Форум Mozilla Россия
Ссылка исправлена

Отредактировано oleg.sgh (24-01-2017 15:59:52)

Отсутствует

 

№11626-01-2017 12:40:49

Quartz1t
Участник
 
Группа: Members
Зарегистрирован: 25-11-2013
Сообщений: 111
UA: Palemoon 26.0

Re: [CB]Context Search

Скажите пожалуйста, можно ли сделать данную кнопка как на скриншоте?
без выпадающего меню и подписей

скрытый текст
8ef915e600c171c15e103f10cd986354.png

Отсутствует

 

№11727-01-2017 13:38:05

Артик
Участник
 
Группа: Members
Зарегистрирован: 14-03-2016
Сообщений: 64
UA: Firefox 51.0

Re: [CB]Context Search

oleg.sgh пишет

Здесь умельцы выкладывали исправленнуюhttps://cloud.mail.ru/public/FYVt/Wgi1kgRi8Нужно сделать этоКак отключить проверку цифровых подписей в дополнениях Firefox | Форум Mozilla РоссияСсылка исправлена
                    Отредактировано oleg.sgh (24-01-2017 15:59:52)

куда следует кинуть вот этот файл? custombuttons@xsms.org.xpi ?

Отсутствует

 

№11827-01-2017 13:55:13

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 51.0

Re: [CB]Context Search

Артик

куда следует кинуть вот этот файл? custombuttons@xsms.org.xpi ?

Скачать дополнение. На вкладке дополнения - шестеренка - установить дополнение из файла.
Проверка дополнений должна быть отключена.

Отсутствует

 

№11927-01-2017 18:11:27

Артик
Участник
 
Группа: Members
Зарегистрирован: 14-03-2016
Сообщений: 64
UA: Firefox 51.0

Re: [CB]Context Search

oleg.sgh пишет

Артик

куда следует кинуть вот этот файл? custombuttons@xsms.org.xpi ?

Скачать дополнение. На вкладке дополнения - шестеренка - установить дополнение из файла.
Проверка дополнений должна быть отключена.

большое спасибо, помогло

Отсутствует

 

№12026-02-2018 08:07:02

momo2000
Участник
 
Группа: Members
Зарегистрирован: 03-09-2015
Сообщений: 236
UA: Firefox 58.0

Re: [CB]Context Search

Можно ли сделать, чтобы контекстное меню не закрывалось после жмакания по поисковику, т.е. когда поиск открывается в фоне, можно было ещё жмакнуть на 2 и 3 поисковик?

Отредактировано momo2000 (05-03-2018 07:48:09)

Отсутствует

 

№12124-03-2018 12:38:27

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 4001
UA: Firefox 59.0

Re: [CB]Context Search

Исходный код из первого сообщения (https://forum.mozilla-russia.org/viewto … 72#p533572) не захотел работать в 59.0.1
Однако заработал, если закомментировать строчку №36 исходного кода

Выделить код

Код:

setItemsToMenuPopup();

и вставить её, допустим, 59-й строчкой.

Чуточку портит радость показ всех поисковых систем, вместо только включенных.
Может быть есть для этого решение?

Отсутствует

 

№12224-03-2018 16:21:33

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2242
UA: Firefox 52.0

Re: [CB]Context Search

Coroner
:/

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

Выделить код

Код:

(async (contextMenu, searchSelect, searchService) => {

   var fullText = true;

   Services.search.isInitialized || await new Promise(
      resolve => Services.search.init(resolve)
   );
   searchSelect.collapsed = true; // удалить стандартный пункт меню для поиска

   // Создать новый пункт меню для поиска ....
   var menu = contextMenu.insertBefore(document.createElement('menu'), searchSelect);
   menu.setAttribute("class", "menu-iconic");
   addEventListener("popupshowing", (e)=> menu.hidden = searchSelect.hidden, false, contextMenu); 
      
   function setMenu() {  
      menu.engine = searchService.currentEngine;
      menu.setAttribute("label", "Искать в " + menu.engine.name + " или в ...");
      menu.setAttribute("image", menu.engine.iconURI.spec );
   };
   setMenu();

   
   // Создать подменю с поисковиками .... 
   var menuPopup = menu.appendChild(document.createElement("menupopup")); 
   menuPopup.setAttribute('style', 'overflow: scroll'); 

   function setItemsToMenuPopup(e) {
      menuPopup.textContent = "";      

      var engines = searchService.getVisibleEngines({})
         .filter(engine => engine != searchService.currentEngine);
      var hiddenList = Services.prefs.getStringPref("browser.search.hiddenOneOffs").split(",");
      engines.forEach((engine)=> { 
         if (hiddenList.includes(engine.name)) return;
         var mItem = document.createElement("menuitem");
         mItem.setAttribute("label", engine.name);
         mItem.setAttribute("class", "menuitem-iconic");
         mItem.setAttribute("src", engine.iconURI.spec);
         mItem.engine = engine;
         menuPopup.appendChild(mItem);
      })
   };  
   setItemsToMenuPopup();
   
   // установить действие для клика на меню и подменю
   menu.onmouseup = e => {
      var background = e.button != 0;
      var text = gContextMenuContentData.selectionInfo[fullText ? "fullText" : "text"];
      contextMenu.hidePopup();
      var submission = e.target.engine.getSubmission(text, null);
      gBrowser.loadOneTab(submission.uri.spec, null, null, submission.postData, background, false);
   }
      
   
   // Наблюдатель за изменениями в поисковиках пересоздаёт меню и подменю .... 
   var getEngineModified = {
      observe:(subject, topic, data)=> {
         if ( /changed|removed|current/.test(data) ) { setMenu(), setItemsToMenuPopup() };             
      }
   };
   Services.obs.addObserver(getEngineModified, "browser-search-engine-modified", false);   
   Services.prefs.addObserver("browser.search.hiddenOneOffs", setItemsToMenuPopup);
   
   
   // Удалять наблюдатели и меню, показать стандартный пункт ....
   addDestructor(()=> {
      menu.remove();            
      searchSelect.collapsed = false; 
      Services.obs.removeObserver(getEngineModified, "browser-search-engine-modified"); 
      Services.prefs.removeObserver("browser.search.hiddenOneOffs", setItemsToMenuPopup);
   });
      
})(document.getElementById("contentAreaContextMenu"), document.getElementById("context-searchselect"), Services.search);

Отсутствует

 

№12324-03-2018 20:58:04

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 4001
UA: Firefox 59.0

Re: [CB]Context Search

Dumby, спасибо добрый человек. Работает как надо.
Так привык к возможности быстро найти что надо и там где надо, что недоумеваю почему из коробки такие унылые возможности для поиска.

Отсутствует

 

№12424-10-2018 01:17:10

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 4001
UA: unknown 0.0

Re: [CB]Context Search

И этот чудный код отвалился. Кому помешал?
Возможно та же причина что и в https://forum.mozilla-russia.org/viewto … 37#p762537
Разве что там вместо addTab стоит loadOneTab

Если так, то не ли способа вроде https://forum.mozilla-russia.org/viewto … 86#p761786 , только для loadOneTab?
Сама менюшка работает, но по клику поиск во вкладке не открывается.

Отсутствует

 

№12524-10-2018 04:55:37

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2242
UA: Firefox 52.0

Re: [CB]Context Search

Coroner
В данном случае так, наверно

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

Выделить код

Код:

/*
      contextMenu.hidePopup();
      var submission = e.target.engine.getSubmission(text, null);
      gBrowser.loadOneTab(submission.uri.spec, null, null, submission.postData, background, false);
      */
      var {principal} = gContextMenu;
      contextMenu.hidePopup();
      var submission = e.target.engine.getSubmission(text, null);
      gBrowser.loadOneTab(submission.uri.spec, {
         postData: submission.postData,
         inBackground: background,
         triggeringPrincipal: principal
      });

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]