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

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

№129-01-2013 19:38:22

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

[CB]Поиск изображения в google из контекстного меню

Поиск изображения в google из контекстного меню изображений (Firefox)
Автор: bunda1
Версия: от 02.06.2019.
Описание: Добавляет в контекстное меню изображений на странице новый пункт "Поиск изображения в google" который дает возможность запустить в новой активной вкладке поиск изображения в google.
Использование: положите код в любую Custom Buttons кнопку, в инициализацию. Не обязательно создавать новую CB кнопку, можно использовать уже существующую.

Выделить код

Код:

// Поиск изображения в google из контекстного меню, от 02.06.2019. ..................
(()=> {
   var copyimage = document.getElementById("context-copyimage-contents");
   var contextMenu = copyimage.parentNode;

   var menuitem = contextMenu.insertBefore(document.createElement("menuitem"), copyimage);
   menuitem.setAttribute("label", "Поиск изображения в google");
   menuitem.setAttribute("class", "menuitem-iconic");
   menuitem.setAttribute("image", "https://www.google.lv/favicon.ico");
   menuitem.onclick =e=> { gBrowser.selectedTab = gBrowser.addTab("https://www.google.com/searchbyimage?image_url=" + encodeURIComponent(gContextMenu.imageURL), {
                                                                  triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal()}) };
   addEventListener("popupshowing", ()=> menuitem.hidden = copyimage.hidden, true, contextMenu);
   addDestructor(()=> menuitem.remove());
})();

Добавить подменю "Поиск изображения в ..." в контекстном меню изображений (Firefox)
Автор: bunda1
Версия: от 02.06.2019.
Описание: Добавляет в контекстное меню изображений на странице подменю  ""Поиск изображения в ..."" который даёт возможность искать изображение в разных поисковиках в новой активной вкладке.
Использование: положите код в любую Custom Buttons кнопку, в инициализацию. Не обязательно создавать новую CB кнопку, можно использовать уже существующую.

Выделить код

Код:

// Добавить подменю "Поиск изображения в" в контекстном меню изображений, от 02.06.2019. .............
(()=> {
   var copyimage = document.getElementById("context-copyimage-contents");
   var contextMenu = copyimage.parentNode;

   var array = [
      ['Google', 'https://www.google.lv/favicon.ico', 'https://www.google.com/searchbyimage?&image_url='],
      ['Яндекс', 'http://yastatic.net/morda-logo/i/favicon_islands.ico', 'http://yandex.ru/images/search?rpt=imageview&img_url='],
      ['Bing', 'https://www.bing.com/s/a/bing_p.ico', 'http://www.bing.com/images/searchbyimage?FORM=IRSBIQ&cbir=sbi&imgurl='],
      ['Tineye', 'http://tineye.com/favicon.ico', 'http://tineye.com/search?pluginver=bookmark_1.0&url='],
   ];
  
   var menu = contextMenu.insertBefore(document.createElement("menu"), copyimage); 
   menu.setAttribute("label", "Поиск изображения в ...");
   menu.setAttribute("class", "menu-iconic");
   menu.setAttribute("image", array[0][1]);
   menu.onclick =e=> { e.target.nodeName == 'menu' && search(array[0][2]); setTimeout(()=> contextMenu.hidePopup(), 20) };
   addEventListener("popupshowing", ()=> menu.hidden = copyimage.hidden, true, contextMenu);
   addDestructor(()=> menuitem.remove());

   var menuPopup = menu.appendChild(document.createElement("menupopup"));              
   array.forEach(m=> {
      var mItem = menuPopup.appendChild(document.createElement("menuitem"));
      mItem.setAttribute("label", m[0]);       
      mItem.setAttribute("image", m[1]);
      mItem.setAttribute("class", "menuitem-iconic");
      mItem.onclick =()=> search(m[2]);
   });
   
   var mItem = menuPopup.appendChild(document.createElement("menuitem"));
   mItem.setAttribute("label", 'Искать во всех поисковиках');       
   mItem.onclick =()=> { array.forEach(m=> { search(m[2]) }) };
   
   function search(finder) {
      gBrowser.selectedTab = gBrowser.addTab(finder + encodeURIComponent(gContextMenu.imageURL), {
                                             triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal()});
   };
})();

Отредактировано bunda1 (09-09-2015 19:15:57)

Отсутствует

 

№231-01-2013 20:53:57

Alfina
Участник
 
Группа: Members
Зарегистрирован: 23-05-2010
Сообщений: 87
UA: Firefox 18.0

Re: [CB]Поиск изображения в google из контекстного меню

bunda1, спасибо огромное за кнопку! Давно о такой мечтала, чтобы аналогичное расширение заменить.

А вы можете ещё сделать иконку Гугла google.gif для этого пункта в меню? :blush:

Отредактировано Alfina (31-01-2013 20:56:44)

Отсутствует

 

№331-01-2013 21:35:54

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

Re: [CB]Поиск изображения в google из контекстного меню

Добавить новый пункт  "Поиск изображения в google"  в контекстном меню изображений с иконкой

Можно загружать иконку с интернета:

Выделить код

Код:

// Добавить новый пункт "Поиск изображения в google" в контекстном меню изображений(с иконкой) ...........................
(function() {
   if ( document.getElementById("image-search") ) return; 
               
   var menuItem = document.createElement("menuitem");
   menuItem.id = "image-search";
   menuItem.setAttribute("label", "Поиск изображения в google");
   menuItem.setAttribute("class", "menuitem-iconic");
   menuItem.setAttribute("image", "http://www.canalcorredores.com/modulos/mod_periodico/pub/iconos/google.gif");
   menuItem.setAttribute("oncommand", "getBrowser().selectedTab = getBrowser().addTab('http://www.google.com/searchbyimage?image_url=' + encodeURIComponent( gContextMenu.mediaURL || gContextMenu.imageURL || gContextMenu.bgImageURL ) )");
   document.getElementById("context-viewimage").parentNode.insertBefore( menuItem, document.getElementById("context-viewimage") );
   
   document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function() {
     menuItem.hidden = !gContextMenu.onImage; 
     }, false);
})();

или иконка как base64::

Выделить код

Код:

// Добавить новый пункт "Поиск изображения в google" в контекстном меню изображений(с иконкой) ...........................
(function() {
   if ( document.getElementById("image-search") ) return; 
               
   var menuItem = document.createElement("menuitem");
   menuItem.id = "image-search";
   menuItem.setAttribute("label", "Поиск изображения в google");
   menuItem.setAttribute("class", "menuitem-iconic");
   menuItem.setAttribute("image", "data:image/x-icon;base64,AAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBKBMpTCYX4GMrH/9gMxn/YDQV/2cyG/9nLxr/YjMd/10xHv9cMRz/XjIa/2ExHP9gNRn/YDIV/2IwHf9ULSL/RCcU4EEoEylLKBfgcjUe/349IP98QRr/gEEd/39AKP+FUjv/h2NL/4lkUP+GYEv/hVQ+/35CJv9+Phz/gEIb/4c8H/96PCT/azgb/0koFOBpMyT/jD8i/4RFIf97RB3/hEUr/7GCdf/q29L/+e3e/97HuP/dwLD/6M2+/76VhP9+RSr/hUMg/5NAH/+NQCX/h0Ai/2Q1Iv9yOyf/lkYn/4xFJP+HSSn/m25Y//7y6v/bw7f/fkw2/3hBJv90QSX/hFI9/+nUxv+2k4H/i0kq/5VIJP+QRiL/lkYn/3Q5Kv9zQSn/mUkp/5tJKf+XSin/roJr//757f+0gG//l0oq/5NMI/+WTCH/i00u/8q0o//jx7j/mFU6/5JMJP+TTiL/l0wl/3Y/K/93Rif/oE4p/6ZNK/+jTSz/pGpS//rn2v/Np5b/kFEx/5BSK/+XTyv/nmFJ/+rTyP/lyrv/nlk+/5NRJv+WUib/l1Ik/3lFK/+BSyr/plQt/6ZULP+mUyv/nFIz/6d3Yf/hxrX/3b6n/7SUf/+7l4b/8NjL//7z6//BkoH/mlMz/55TLP+iUyv/olMp/4FJK/+FSzP/qVUz/61ZMf+sWSv/rFYs/59TM/+cWT//nmJJ/8OSgf/+8ub/+O/b/8ikkv+iVTb/qVgv/6pVMP+1WDT/qVY1/4ZMMf+MUTX/q1sx/7RZMf+2WjH/t1wv/7JbLf+oXDT/nVtD/8yajv/+8uf/ybGZ/5VYOP+zWDL/t1sx/7NYMv+5WjX/sFk2/49SM/+VVDn/s143/7hfNP+8WzX/v141/6xeMv/ZoYD/+9/I/+DBtP/Ss6P/7L+l/7l1Tf+1XjT/vlw0/7tdM/+6YC//tV42/5FYNP+cU0D/uGE9/75fNf/GZTb/wGI4/8OBYv//5tT/5byr/6RjSP+lXD//26eM//TNsf+3YkH/xGI3/8NjNf+7Yi//uGE3/5pZOv+hWEH/wGY9/8RlNP/KaDf/xWY3/9+ef///5tv/v4Vt/8NmOv+9ZUD/xI16//7o2v/FgGX/x2g5/8poNv/KaDb/xWU5/6ZYQv+mYUH/y2s7/8xwN//TbTf/0m46/+CYd///59X/vIJk/81tOv/Bbz//4a6b//7n2P/FiGL/yWw4/9FtN//KcDf/zG45/6dfQP+tZT//1W4//9pxPf/VbTz/1G5B/75wTf/31L7/z56C/8V5TP/TkGP/+NXC//XSv/+4cEr/0nA7/9VwO//Ubz7/1G88/61kP/+0bkj/4XNC/99wPv/gckL/321B/9VwR//Gf2D/6reX/+/DoP/82br//uHO//LSvv/mp33/3nhJ/9dwQv/bb0X/23BG/7RrSP+wb0r/4nhK/+V3Rf/qeEX/8HZE/+lzQf/adUf/yWg+/7lfO/+tYDz/qWFA/6xeOf/IaTn/5nND/+h1SP/pdkj/3ndN/7RtUP+NWTrg2oJX/+uGVf/ofkv/84FN/++ETv/qfk//6n5Q/+h+Uv/ngFP/5oFS/+d/UP/nfk//839O/+5+Tv/uhVj/3YFa/5JYPOCRVkEppFo64NN8UP/dgVT/3oRR/92DTP/ihVj/34FX/+ODVf/mg1T/5IRO/96ET//cglH/4YJT/+CCVv/Te1D/oVk44JBVQCkAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEE=");
   menuItem.setAttribute("oncommand", "getBrowser().selectedTab = getBrowser().addTab('http://www.google.com/searchbyimage?image_url=' + encodeURIComponent( gContextMenu.mediaURL || gContextMenu.imageURL || gContextMenu.bgImageURL ) )");
   document.getElementById("context-viewimage").parentNode.insertBefore( menuItem, document.getElementById("context-viewimage") );
   
   document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function() {
     menuItem.hidden = !gContextMenu.onImage; 
     }, false);
})();

После замены кода нужен рестарт.

Отредактировано bunda1 (01-04-2013 13:34:44)

Отсутствует

 

№431-01-2013 22:19:16

Alfina
Участник
 
Группа: Members
Зарегистрирован: 23-05-2010
Сообщений: 87
UA: Firefox 18.0

Re: [CB]Поиск изображения в google из контекстного меню

Спасибо огромное! Теперь это идеальная кнопка! :)

Отсутствует

 

№501-04-2013 21:48:45

feas
Участник
 
Группа: Extensions
Откуда: от DNS
Зарегистрирован: 25-08-2011
Сообщений: 5213
UA: Firefox 21.0
Веб-сайт

Re: [CB]Поиск изображения в google из контекстного меню

Хм. У меня при поиске(иконки в UA) посылает сюда:
kiss_42kb.1364838389.png

А можно сделать регедикт сюда(это снизу той же страницы):
kiss_16kb.1364838459.png

Добавлено 01-04-2013 21:50:37

И можно её перенести вниз?
kiss_10kb.1364838606.png

Отредактировано feas (01-04-2013 21:50:37)


Добро пожаловать на форум mozilla-russia.org. Здесь вы можете посоветоваться или обратиться за помощью к фанатам и пользователям продуктов Мозиллы. Если не знаете как правильно оформить пост специально для вас расписан пункт 2.2 правил форума
Сброс на примере Firefox – лёгкое решение большинства проблем
Починка браузера. Перенос своих настроек на новый профиль.

Отсутствует

 

№601-04-2013 23:11:06

Confidence
Всем добра!
 
Группа: Members
Зарегистрирован: 04-11-2010
Сообщений: 300
UA: Firefox 21.0

Re: [CB]Поиск изображения в google из контекстного меню

Попробовал код вставить в Stylish - не работает. Жаль. )


Не следует делать того, что смущает совесть.

Отсутствует

 

№701-04-2013 23:15:02

feas
Участник
 
Группа: Extensions
Откуда: от DNS
Зарегистрирован: 25-08-2011
Сообщений: 5213
UA: Firefox 21.0
Веб-сайт

Re: [CB]Поиск изображения в google из контекстного меню

Confidence пишет

Попробовал код вставить в Stylish - не работает. Жаль. )

Тут кнопки а не стили :dumb: вставлять(создать) надо в кнопку


Добро пожаловать на форум mozilla-russia.org. Здесь вы можете посоветоваться или обратиться за помощью к фанатам и пользователям продуктов Мозиллы. Если не знаете как правильно оформить пост специально для вас расписан пункт 2.2 правил форума
Сброс на примере Firefox – лёгкое решение большинства проблем
Починка браузера. Перенос своих настроек на новый профиль.

Отсутствует

 

№801-04-2013 23:37:27

Confidence
Всем добра!
 
Группа: Members
Зарегистрирован: 04-11-2010
Сообщений: 300
UA: Firefox 21.0

Re: [CB]Поиск изображения в google из контекстного меню

Да понял я. Так уж, решил попробовать. ))


Не следует делать того, что смущает совесть.

Отсутствует

 

№904-04-2014 15:25:35

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

Re: [CB]Поиск изображения в google из контекстного меню

Не работает в 28.0 Перекидывает  на главную гугла и всё.

скрытый текст
Жму на картинке ПКМ и выбираю "поиск изображения в google"

Отсутствует

 

№1004-04-2014 17:17:51

feas
Участник
 
Группа: Extensions
Откуда: от DNS
Зарегистрирован: 25-08-2011
Сообщений: 5213
UA: Firefox 30.0
Веб-сайт

Re: [CB]Поиск изображения в google из контекстного меню

Mishania пишет

Не работает в 28.0 Перекидывает  на главную гугла и всё.

пробуй этот скрипт http://userscripts.org/scripts/source/139231.user.js


Добро пожаловать на форум mozilla-russia.org. Здесь вы можете посоветоваться или обратиться за помощью к фанатам и пользователям продуктов Мозиллы. Если не знаете как правильно оформить пост специально для вас расписан пункт 2.2 правил форума
Сброс на примере Firefox – лёгкое решение большинства проблем
Починка браузера. Перенос своих настроек на новый профиль.

Отсутствует

 

№1104-04-2014 17:30:12

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

Re: [CB]Поиск изображения в google из контекстного меню

feas
Удобная штука, но что-то тоже отказывается. Может у меня что.

Отсутствует

 

№1204-04-2014 19:00:20

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

Re: [CB]Поиск изображения в google из контекстного меню

feas пишет

И можно её перенести вниз?

Выделить код

Код:

// Добавить новый пункт "Поиск изображения в google" в контекстном меню изображений .........................
(function() {              
   var menuitem = document.createElement("menuitem");   
   menuitem.setAttribute("label", "Поиск изображения в google");
   menuitem.setAttribute("oncommand", "gBrowser.selectedTab = gBrowser.addTab('http://www.google.com/searchbyimage?image_url=' + encodeURIComponent( gContextMenu.mediaURL || gContextMenu.imageURL || gContextMenu.bgImageURL ) )");
   
   var contextMenu = document.getElementById("contentAreaContextMenu");
   var sep= document.getElementById("context-sep-copyimage");
   contextMenu.insertBefore( menuitem, sep );
   
   addEventListener("popupshowing", function() { menuitem.hidden = !gContextMenu.onImage }, false, contextMenu );
   addDestructor(function() { contextMenu.removeChild( menuitem ) });
})();

Насчёт других вопросов я не понял :/
Добавлено 04-04-2014 19:02:15

Mishania пишет

Не работает в 28.0 Перекидывает  на главную гугла и всё.

У меня работает даже на [nightly] наверно конфликт с другим расширением.

Отредактировано bunda1 (04-04-2014 19:04:38)

Отсутствует

 

№1306-04-2014 23:05:50

villi311
Участник
 
Группа: Members
Зарегистрирован: 31-08-2013
Сообщений: 39
UA: Firefox 28.0

Re: [CB]Поиск изображения в google из контекстного меню

Отличная вешь! Спасибо огромное! У меня все в 28 работает.

Отсутствует

 

№1401-10-2014 17:01:12

toltec
Участник
 
Группа: Members
Зарегистрирован: 03-12-2013
Сообщений: 20
UA: Palemoon 24.0

Re: [CB]Поиск изображения в google из контекстного меню

bunda1, а возможно расширить кнопку до аналога расширения https://addons.mozilla.org/en-US/firefo … s/?src=api? Т.е. добавить Тинай и Яндекс

Отсутствует

 

№1501-10-2014 22:07:31

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

Re: [CB]Поиск изображения в google из контекстного меню

toltec пишет

bunda1, а возможно расширить кнопку до аналога расширения https://addons.mozilla.org/en-US/firefo … s/?src=api? Т.е. добавить Тинай и Яндекс

Выделить код

Код:

// Добавить подменю "Поиск изображения в ..." в контекстном меню изображений, от 01.10.2014 .............
(function() {  
  var contextMenu = document.getElementById("contentAreaContextMenu");  
  
  var menu = document.createElement("menu");      
  menu.setAttribute("label", "Поиск изображения в ...");  
  contextMenu.insertBefore( menu, document.getElementById("context-viewimage") ); 
  addEventListener("popupshowing", function() menu.hidden = !gContextMenu.onImage, false, contextMenu );
  addDestructor(function() contextMenu.removeChild(menu) );
  
  var array = [
        [ 'Google', 'https://www.google.lv/favicon.ico', 'http://www.google.com/searchbyimage?image_url=' ],
        [ 'Tineye', 'http://tineye.com/favicon.ico', 'http://tineye.com/search?pluginver=bookmark_1.0&url=' ],
        [ 'Яндекс', 'http://yastatic.net/morda-logo/i/favicon_islands.ico', 'http://yandex.ru/images/search?rpt=imageview&img_url=' ]        
              ];
  var menuPopup = menu.appendChild( document.createElement("menupopup") );              
  array.forEach(function( m ) { 
       var mItem = menuPopup.appendChild( document.createElement("menuitem") );
       mItem.setAttribute("label", m[0]);       
       mItem.setAttribute("image", m[1]);
       mItem.setAttribute("class", "menuitem-iconic");
       mItem.finder = m[2];
  });
  
  addEventListener("command", function(e) {
     gBrowser.selectedTab = gBrowser.addTab( e.target.finder + encodeURIComponent(gContextMenu.imageURL) );
  }, false, menu );            
})();

Отредактировано bunda1 (01-10-2014 23:08:02)

Отсутствует

 

№1602-10-2014 11:14:17

toltec
Участник
 
Группа: Members
Зарегистрирован: 03-12-2013
Сообщений: 20
UA: Palemoon 24.0

Re: [CB]Поиск изображения в google из контекстного меню

Отлично, спасибо

Отсутствует

 

№1718-05-2015 11:47:01

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 38.0

Re: [CB]Поиск изображения в google из контекстного меню

bunda1
А можно добавить в кнопку обработку кликов? Например ЛКМ открывает поиск в текущей странице, а СКМ в новой вкладке, в общем стандартное поведение.

Отсутствует

 

№1818-05-2015 21:34:22

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

Re: [CB]Поиск изображения в google из контекстного меню

Kamui пишет

bunda1
А можно добавить в кнопку обработку кликов? Например ЛКМ открывает поиск в текущей странице, а СКМ в новой вкладке, в общем стандартное поведение.

Выделить код

Код:

// Добавить новый пункт "Поиск изображения в google" в контекстном меню изображений ................................
((contextMenu) => {
   var menuitem = document.createElement("menuitem");   
   menuitem.setAttribute("label", "Поиск изображения в google");
   menuitem.onclick =e=> {
      var url = 'http://www.google.com/searchbyimage?image_url=' +
                 encodeURIComponent(gContextMenu.mediaURL || gContextMenu.imageURL || gContextMenu.bgImageURL);      
      e.button ? gBrowser.selectedTab = gBrowser.addTab(url) : loadURI(url);
   }
   contextMenu.insertBefore(menuitem, document.getElementById("context-viewimage"));
   
   addEventListener("popupshowing", ()=> menuitem.hidden = !gContextMenu.onImage, false, contextMenu);
   addDestructor(()=> contextMenu.removeChild(menuitem) );
   
})(document.getElementById("contentAreaContextMenu") );

Отсутствует

 

№1919-05-2015 07:11:38

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 38.0

Re: [CB]Поиск изображения в google из контекстного меню

bunda1
Спасибо, только проблема одна, когда нажимаю СКМ, то меню не закрывается, а вкладка открывается вне группы вкладок (использую TU), если например вкладка по середине группы, то поиск откроется за последней вкладкой группы. Хотелось бы чтобы вкладка открывалась как обычные ссылки открываются и срабатывал механизм создания группы вкладок.
s_1432008734_5651312_2f13ca2846.jpg

Отсутствует

 

№2019-05-2015 18:50:46

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

Re: [CB]Поиск изображения в google из контекстного меню

Kamui пишет

bunda1
Спасибо, только проблема одна, когда нажимаю СКМ, то меню не закрывается

Выделить код

Код:

// Добавить новый пункт "Поиск изображения в google" в контекстном меню изображений ................................
((contextMenu) => {
   var menuitem = document.createElement("menuitem");   
   menuitem.setAttribute("label", "Поиск изображения в google");
   menuitem.onclick =e=> {
      var url = 'http://www.google.com/searchbyimage?image_url=' +
                 encodeURIComponent(gContextMenu.mediaURL || gContextMenu.imageURL || gContextMenu.bgImageURL);      
      e.button ? gBrowser.selectedTab = gBrowser.addTab(url) : loadURI(url);
      contextMenu.hidePopup();
   }
   contextMenu.insertBefore(menuitem, document.getElementById("context-viewimage"));
   
   addEventListener("popupshowing", ()=> menuitem.hidden = !gContextMenu.onImage, false, contextMenu);
   addDestructor(()=> contextMenu.removeChild(menuitem) );
   
})(document.getElementById("contentAreaContextMenu") );

вкладка открывается вне группы вкладок (использую TU), если например вкладка по середине группы, то поиск откроется за последней вкладкой группы. Хотелось бы чтобы вкладка открывалась как обычные ссылки открываются и срабатывал механизм создания группы вкладок

.
А как старый код открывал вкладки и что за группы вкладок.

Отсутствует

 

№2120-05-2015 18:50:50

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 38.0

Re: [CB]Поиск изображения в google из контекстного меню

bunda1 пишет

А как старый код открывал вкладки и что за группы вкладок.

Старый код открывал также. Группа вкладок на скриншоте это 4 первые вкладки с красным фоном:
s_1432008734_5651312_2f13ca2846.jpg
Создаются группы с помощью Tab Utilities при включенном параметре extensions.tabutils.autoStack;true и группируются вкладки автоматически при открытии ссылок со страницы.

Скорее всего надо расширение отредактировать чтобы оно обрабатывало gBrowser.addTab и создавало группу при этом событии, т.к. не только в этой кнопке вкладка открывается вне группы, так например в кнопке Translate при включённой опции "Перевод страницы в новой вкладке сразу справа", также открывается вкладка вне группы. Кстати как называется событие открытия ссылки?

Отредактировано Kamui (20-05-2015 19:00:18)

Отсутствует

 

№2220-05-2015 20:17:39

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

Re: [CB]Поиск изображения в google из контекстного меню

Kamui

Скорее всего надо расширение отредактировать чтобы оно обрабатывало gBrowser.addTab и создавало группу при этом событии. Кстати как называется событие открытия ссылки?

Нет, надо вместо gBrowser.addTab использовать что другое, наверно:
gBrowser.loadOneTab( url, {relatedToCurrent: true, inBackground: true, referrerURI: makeURI(content.location.href)} )

Кстати как называется событие открытия ссылки?

Насчёт событие не знаю, но клик на ссылку запускает вот такую цепочку внутренних функций Firefox:
1. contentAreaClick(event, isPanelClick)
2. handleLinkClick(event, href, linkNode)
3. openLinkIn(url, where, params)
4. gBrowser.loadOneTab(aURI, aReferrerURI, aCharset, aPostData, aLoadInBackground, aAllowThirdPartyFixup)
5. gBrowser.addTab(aURI, aReferrerURI, aCharset, aPostData, aOwner, aAllowThirdPartyFixup)
Tab Utilities должно реагировать на одну из них, кроме gBrowser.addTab

Отсутствует

 

№2321-05-2015 09:10:13

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 38.0

Re: [CB]Поиск изображения в google из контекстного меню

bunda1
Кстати в кнопке Translate вкладки группируются если выбран перевод с заменой текста в Microsoft/Google. Я так понял потому что изначальная вкладка дублируется, а уже после применяется код для перевода? Может быть также сделать и здесь?

Отсутствует

 

№2421-05-2015 18:55:42

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

Re: [CB]Поиск изображения в google из контекстного меню

Kamui
Вот так вроде работает в "Поиск изображения в google":

Выделить код

Код:

e.button ? openLinkIn(url, "tabshifted", {relatedToCurrent: true, inBackground: true, referrerURI: makeURI(content.location.href)}) : loadURI(url);

Добавлено 21-05-2015 19:04:57
а в кнопке Translate:

Выделить код

Код:

cbu.getPrefs("Translate.nextPage")
        ? openLinkIn(url, "tabshifted", {relatedToCurrent: true, inBackground: true, referrerURI: makeURI(content.location.href)})
        : loadURI(url);

Отредактировано bunda1 (21-05-2015 19:04:57)

Отсутствует

 

№2522-05-2015 05:38:30

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 38.0

Re: [CB]Поиск изображения в google из контекстного меню

bunda1
Спасибо, отлично работает:D

Отсутствует

 

Board footer

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