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

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

№170119-04-2017 20:04:44

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

Re: Обсуждение кнопок CB

_zt пишет:

bunda1
Конечно работает, автор же обновил ее вчера.

Автор кнопку не обновлял, это я исправил и обновил эту кнопку потому что автор не показывается на форуме.

Отсутствует

 

№170219-04-2017 21:02:37

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

Re: Обсуждение кнопок CB

difabor пишет:

У меня иногда вместо некоторых сайтов открывается файл эксплорер

Нужен пример такого сайта. Что значит открывается файл эксплорер?

Отсутствует

 

№170319-04-2017 22:07:02

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

Re: Обсуждение кнопок CB

bunda1 пишет:

difabor пишет:

У меня иногда вместо некоторых сайтов открывается файл эксплорер

Нужен пример такого сайта. Что значит открывается файл эксплорер?

1. Например: http://moemnenie.club/forumdisplay.php?f=79 или https://forum.mozilla-russia.org/viewto … 6&p=69
2. Вместо браузера открывается File Explorer - то, где все мои файлы, фолдеры и пр.

Отредактировано difabor (19-04-2017 22:10:24)


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

Отсутствует

 

№170420-04-2017 14:09:43

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 134
UA: Firefox 52.0

Re: Обсуждение кнопок CB

bunda1
Спасибо вам, как всегда выручаете. А правда, есть способ автоматической проверки обновлений постов в той теме?

Отсутствует

 

№170524-04-2017 16:37:46

thrower
Участник
 
Группа: Members
Зарегистрирован: 28-11-2013
Сообщений: 126
UA: Firefox 53.0

Re: Обсуждение кнопок CB

В новых версиях FF перестала работать кнопка:

"открыть как ссылку в новом табе"

Выделить код

Код:

(function() {
   if ( document.getElementById("go2link") ) return;
   var menuItem = document.createElement("menuitem");

   menuItem.id = "go2link";
   menuItem.setAttribute("label", "Перейти по ссылке");
   menuItem.setAttribute("class", "menuitem-iconic");
   menuItem.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAU0lEQVQ4je2RwQ3AMAgDswcjMARMYbZgDdZgU/fVZ6WGfHOSvyfLXuvySXfzSFBVrKq5JDP5ZiQAQACMCALYl7g73Z1mNmugqlTV+QYicvbC5T8PBOogdLzwKzcAAAAASUVORK5CYII=");
   menuItem.setAttribute("oncommand", "getBrowser().selectedTab = getBrowser().addTab(document.commandDispatcher.focusedWindow.getSelection().toString())");
   document.getElementById("context-copy").parentNode.insertBefore( menuItem, document.getElementById("context-copy") );

   
   document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function() {
     menuItem.hidden = !gContextMenu.isTextSelected;
     }, false);
})();


Помогите поправить.

Отсутствует

 

№170624-04-2017 21:33:08

selevo
Забанен
 
Группа: Members
Откуда: Ижевск
Зарегистрирован: 23-01-2008
Сообщений: 218
UA: Firefox 52.0
Веб-сайт

Re: Обсуждение кнопок CB

какая-то  хрень  приключилася,с после обновления   до   версии 52
перестал работать  этот код: (при двой ном клике по картинкам,закидывал в  буфер обмена  адрес картинки)

Выделить код

Код:

/*Initialization Code*/
addEventListener('dblclick', (e)=> {
  var img = e.originalTarget.tagName.toLowerCase() == "img";
  var win = e.originalTarget.ownerDocument.defaultView;
  if (img && e.button == 2 && win.top == content) {
    e.preventDefault();
    e.stopPropagation();
    document.getElementById("contentAreaContextMenu").hidePopup();
    var imgLink = e.originalTarget.src;
    if (imgLink && e.originalTarget.parentNode.tagName.toLowerCase() == "a"
        && e.originalTarget.parentNode.href.endsWith('.png'||'.jpg'||'.jpeg'||'.gif'||'.apng'||'.webp')) {
      imgLink = e.originalTarget.parentNode.href;
    }
    gClipboard.write(imgLink);
    custombuttons.alertSlide('Ссылка на изображение скопирована', imgLink);
  }
}, false, gBrowser);

Может кто поправит?
В чём дело вообще,почему перестало работать ?
Чё там   разработчики наговнячили в  этом  FF
Cплошная головная боль.
Руки бы им оторвать.
не надо было обновляться....

Отредактировано selevo (24-04-2017 21:41:58)

Отсутствует

 

№170728-04-2017 20:26:38

ARG
Лисолюб
 
Группа: Members
Зарегистрирован: 22-06-2005
Сообщений: 324
UA: Firefox 38.0

Re: Обсуждение кнопок CB

_zt
Нет, я не про png, я про html страницу имел ввиду. Она не сохранятеся полностью. PNG вообще нет проблем, да и любой другой графический формат, но это меня не интересует вообще...

Отсутствует

 

№170829-04-2017 18:29:18

Echotony
Участник
 
Группа: Members
Зарегистрирован: 18-02-2017
Сообщений: 24
UA: Firefox 53.0

Re: Обсуждение кнопок CB

А существует ли кнопка, добавляющая в контекстное меню изображений "Поиск в Google картинках"?

Отсутствует

 

№170929-04-2017 18:50:40

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

Re: Обсуждение кнопок CB

Echotony, только для гкартинок не знаю. вот в этой есть Context Search 2 и гкартинки и якартинки и ещекакиетокартинки и вообще много поисков :)

Отсутствует

 

№171029-04-2017 20:18:58

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

Re: Обсуждение кнопок CB

Echotony пишет:

А существует ли кнопка, добавляющая в контекстное меню изображений "Поиск в Google картинках"?

Выделить код

Код:

// Добавить подменю "Поиск изображения в ..." в контекстном меню изображений, от 06.09.2015. .............
((contextMenu, copyimage)=> {
 
  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(()=> contextMenu.removeChild(menu));

  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]);
  });  
  function search(finder) gBrowser.selectedTab = gBrowser.addTab(finder + encodeURIComponent(gContextMenu.imageURL));
  
  var mItem = menuPopup.appendChild(document.createElement("menuitem"));
  mItem.setAttribute("label", 'Искать во всех поисковиках');       
  mItem.onclick =()=> array.forEach((m)=> gBrowser.addTab(m[2] + encodeURIComponent(gContextMenu.imageURL)) );
    
})(document.getElementById("contentAreaContextMenu"), document.getElementById("context-copyimage-contents"));

Отсутствует

 

№171129-04-2017 23:11:25

Echotony
Участник
 
Группа: Members
Зарегистрирован: 18-02-2017
Сообщений: 24
UA: Firefox 53.0

Re: Обсуждение кнопок CB

sonyas75
Не, это слишком много.

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

Отсутствует

 

№171202-05-2017 21:13:05

Лия
-
 
Группа: Members
Зарегистрирован: 09-04-2005
Сообщений: 1873
UA: Firefox 53.0

Re: Обсуждение кнопок CB

Перестала работать кнопка "Поиск по сайту в Гугл", может кто-нибудь поправить?
Спасибо.

Отсутствует

 

№171303-05-2017 09:34:28

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

Re: Обсуждение кнопок CB

Лия пишет:

Перестала работать кнопка "Поиск по сайту в Гугл", может кто-нибудь поправить?

Работает Поиск по сайту в Google. У тебя наверно старая версия.

Отсутствует

 

№171403-05-2017 21:24:09

Лия
-
 
Группа: Members
Зарегистрирован: 09-04-2005
Сообщений: 1873
UA: Firefox 53.0

Re: Обсуждение кнопок CB

bunda1
Спасибо, эта работает. У меня на старой была иконка "Увеличительное стекло", но я ее удалила, нет случайно кода, чтобы такую же для этой кнопки поставить?

Отсутствует

 

№171503-05-2017 21:50:50

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

Re: Обсуждение кнопок CB

Лия

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

Выделить код

Код:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAC4jAAAuIwF4pT92AAAAGnRFWHRTb2Z0d2FyZQBQYWludC5ORVQgdjMuNS4xMDD0cqEAAAOGSURBVHjaxVZdKGRhGJ4zy7JEo50IERFR2o2U1k/RTrkhSomUWZNZIqJEpvUfN3S23IwdJWVLxNq9IDJRotFwZs78+y3tXuwFeyHZHz/fPu/E/ZFp99TbOafOPM/3Pe/zvN/IZP/jKigoUMbHx6sjIyPfh4eHGyIiIvrw/rq2ttbvUcBqtfppcnJyn0KhuMAr8/f3Z6GhoSwsLIzJ5XIWEhLiiYuLU7nd7oeDFxcXP8MqVwg4KCjoT0lJybfOzk7n6OioODEx4dTr9SdFRUWXgYGB1yDRPgh8dXVVFhMToydwyHLe3NxsHR4e3h0fHxfm5+ct6+vr4vb2tt1sNjt4nj+Njo6+ysjIyJVMkJqa+gK3a9Svmpoay9DQkBd8dnbWYjQaRZPJZLdYLFDGvY866O7uPk9MTDQvLi5ykgjQSJ5Wn5eXd9TT03O/cuvKyoq4sbFhw8qdDodjz+PxHKGORVE8TktLu83Pz38piQCNNOF2o9PphKmpKWFpaclKshD41taWfWdnx3VHcEgkTqdzr7Ky8iIzM7NeEgGaehgbG/tzbm5OAKCIFduhuYOKVg95iMAD4H0Cxw5cdXV1p9nZ2e8kEcB+u2jabwBaAeBCeWw2m1sQBBfKSwBQNxU9U8M1Gs2ZSqVqkkQA34+lpKTcEsC9ztRQaiztgAoyeYvA4TpraWnpJWR6JYkAvs7lOO4WEn2/JyA5SPvNzU0HemGnXqBsa2tr1sHBQQ/A95GPJ5IIDAYD7eIT7HoDsAPSmPRfXl62TU9Pi2i8ODMzI+LZMjIyYq2urr5E6vsfFLb09PTncJOYlJR0NTAwcIBACeSqlpYWb7W1tQnQ3QFpLpBqVlhYuIeffUYNVlRUyCWR5OTkhCHRU9jNDSUaif2K9+OEhIQT7O4HcnJWVlY2gqFHw4hFRUUxfMPwPIqxIi10cI0MjkpDX/ph3S+YT0aAf4Ql3yLlirvPPkEi1tXVxTCfaLx4SSTvRMLVhxywhYUFBhlJLqZUKr0k5eXljyfBSjmEk8dQZBgprL29neEMYZDWS9LR0cE9mqS3t5eDKfimpiYGd7HW1laGHtKo991OqqqqOEwBvr6+nk1OTrLGxkaWlZXF/Pz8iETnk2YQSXBwMK/VatnY2BijOyxP7vrgszOc5MJJx4OMIYgMNmbIk8anfxSgORcQENDR0NCgxxh5A/vKZf/i+gvTfwvd9D//IgAAAABJRU5ErkJggg==

или

Выделить код

Код:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsSAAALEgHS3X78AAAFVElEQVRIia2VS2ycVxXHz7n3e3jGM5nMDPZ47IwNwWM7wQXHiVRUErkSpVLiJEYCVWxQSSqWoO4rVyJigdh0zUMCBYUtUFikSEChNBLUqp1OO3FCm5CH5/3Nw/PN97qPw6J2VFycBsR/cTdX+v3/95x77kV4PCEiMiJSqVQqOzMze252bvapeDyeUUoNKpXK+jvXr/9ma2vrDiIyAAAi0gAA+DhwAEDOuV48fvw7C8eOvURS5ETgkRACGTdoZDSHyVTaK5ff+/FrV6+u9l3X3QmkH8vANAx85ivPXhkfH/vGjXfWqTlQkfGpyV46m1U2Rbbz4E7MEJ791MlTDDlf/+WVK6cdx6kjIj7SYDfFl06efGXy0PiL10tlP/b58/enl77ayEwUgsLYAfPIWDwZeNus9MbvD1z9ySujRw9PJuzhxOu/uHz5y1EUaf5J8Pz4+Bc/Nzf7083b96LE0oulz5z6Wi0eN8HkmgNJlrK1PRyP4dEnnxgsPnOu//qrv44djFuzpm3XHty/v8Y+ofYwWZj8ttNqAB157r3kpxc7ot8cIq2Qcw4auYqISUTCnhOYo4dGxfPf/+HdaqsDU4XCC5ZlwX4GSETKtCweM+HprnnIY+OLLeV1bGCGJgIgItCawI20BALg3KDtdsQLs8Xg6NPPNkLf+8LI6Ojco04AhmFmpRRjfnKmojWCUhqUUqCUBik1KKWh7ysZCUVSKlCayHOBf/bEqTZwbpqGOWk8ojxEWpthJLkyD/pMSpSSg4gUCKFARBIsi2Pfj9QgMNQwgAEApHWEsQPZyLCGQEShsZ8B7SwqDH1iQSdGmiAMBUSRhDCQYJgCuMFAE1DHNaTFwNCawLA59VuO6fa6IKSkR5aIMdbVSjuqfj0X44yLUIDvRxAGEQReBL4XgedF0OwGMgwE+H6ASjN9e+NvB9utBgw839nPgACAKykCMGNvRdX1ZLi1nslls8wfeNh3A/C9CAZuCP4gxEbHk9vbHhHYqnL7fevdP/wq33MHd72Bu7nvHDDGDCmljseHOxzpm/2tUioxdsQ9NHlYbrseCSmBiJA0YRApnUomUQ269puXfzDVvPePoa1K/eee5736MYOd4UbLsgxEVCsrK8eev3DxufW/v2GGtdLBQIC2EyORRFtEikmhQIe+z0S1nK39+fLh5t2byVqzXWs2Gy9orXvGHjgCAAcAuby8/HI2m72wtLQUsywLFo4/2b72179kUv/83TTvbORjyQmXzOEIKeSm30yE6CYajSar1Btup+1cEELcAwCOe+FEJJeXly8Vi8XVGzduyEqlYpw4ceJPjUbjW0EQvFSr1S+CFkYiPgSmaYLWCgZ+RIFQqKR6u9/f/m69Xn8TABgAfPiafhR+5syZS8VicbVcLstqtSp7vd5QLpf72dra2sWJiQk+P//Eoib99X7fPSaESCulQgT4IAyD12q12m/b7XZ/F77Lfgg/ffr0penp6dXNzU1Zq9XAcRxjYWHhTrfbPX/t2rV3EZETkUqn05DJZNC2bdvzPNntdmWv1wMiQkTE3c8G4MOJZYwxffbs2UuFQmH11q1bslqtQqfTMebn5+86jnNmbW2tDAAMETUAMCJCAFAfbd/uPhHRv/WVcw4rKysv5/P57928eVPW63XodDrG3NzcvVartbyxsfEw+d4LgYiww9vLfSieTqfPj4yM/MhxHFGtVrHb7RrFYvFBvV4/VyqVSoyxj8F3tR90b5CpTCbzx+Hh4cOICFNTU9VWq3W2XC6//Z+S/09KJBKL+Xz+9sLCQm1mZub4jvO+U/7figEApFKp6Vwut/j/hv8LkScFgdXP7AUAAAAASUVORK5CYII=


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

Отсутствует

 

№171604-05-2017 00:35:17

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 134
UA: Firefox 45.0

Re: Обсуждение кнопок CB

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

bunda1
Посмотрите пожалуйста пример страницы на которой это происходит. Можно как ни будь поправить?

Речь о кнопке Save

Отредактировано _zt (04-05-2017 00:38:07)

Отсутствует

 

№171704-05-2017 21:44:20

Лия
-
 
Группа: Members
Зарегистрирован: 09-04-2005
Сообщений: 1873
UA: Firefox 53.0

Re: Обсуждение кнопок CB

villa7
Спасибо, именно то, что нужно.

Отсутствует

 

№171804-05-2017 22:00:43

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

Re: Обсуждение кнопок CB

_zt пишет:

bunda1
Посмотрите пожалуйста пример страницы на которой это происходит. Можно как ни будь поправить?
Речь о кнопке Save

Не знаю в чём тут дело.

Отсутствует

 

№171917-05-2017 11:42:08

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

Re: Обсуждение кнопок CB

Помогите, пожалуйста с кнопкой Toggle Find+ Minimal, с 53+ перестали работать стрелки след и пред

скрытый текст
const forceFind = false, forceFindCS = true;

// Приклеить элемент findbar к странице( #appcontent ) ................................
const fbID = "FindToolbar-m";
delete window.gFindBar;
window.gFindBar = document.getElementById(fbID);
if (!gFindBar) {
    gFindBar = gBrowser.parentNode.insertBefore(document.createElement("findbar"), gBrowser);
    gFindBar.id = fbID;
    gFindBar.setAttribute("browserid", "content");
    gFindBar.clientTop;
    delete window.gFindBarInitialized;
    window.gFindBarInitialized = true;
    gFindBar._selectionMaxLen = 1000;    // лимит символов для поиска
   
    setTimeout(function() {
       eval("gFindBar.startFind = " + gFindBar.startFind.toString()
       .replace('this.browser.finder.getInitialSelection();',
       'this.onCurrentSelection(gBrowser.finder.getActiveSelectionText(), false)'));
             
       var {Finder} = Cu.import("resource://gre/modules/Finder.jsm");
       eval("Finder.prototype.getActiveSelectionText = " + Finder.prototype
       .getActiveSelectionText.toString().replace('.replace', '; //'));         
    }, 3000 );
   
}


// Ctrl+F, показать - скрыть панель поиска .................................... 
function toggleFindbar() {
   if (gFindBar.hidden) { gFindBar.onFindCommand(); setTimeout(function() { gFindBar._find() }, 50) }
   else
       gFindBar.close();
};
addEventListener("keydown", function(e)
    e.keyCode == e.DOM_VK_F && e.ctrlKey && !e.altKey && !e.shiftKey
    && !e.preventDefault() && toggleFindbar()
, false);
this.onclick = function(e) { if (!e.button) toggleFindbar() };



// Показать количество совпадений на панели поиска ................................
const textbox = gFindBar.getElement("findbar-textbox"),
nrm = Ci.nsISelectionController.SELECTION_NORMAL, labID = "hits-m";
var lab = document.getElementById(labID);
if (!lab) {
    lab = textbox.parentNode.insertBefore(document.createElement("label"), textbox);
    lab.id = labID;
}
var curHit, allHits;

function updateHits(arg) {
    if (gFindBar.hidden) return;
    var word = textbox.value;
    if (!word) {
        lab.value = "0/0";
        textbox.removeAttribute("status");
        return;
    }
    var win = arg instanceof Window && arg || content;
    if (win == content) curHit = allHits = 0;
    var findbarFinder = gFindBar._browser.finder;
    var controller = findbarFinder._getSelectionController(win);
    var doc = win.document;

    if (word && controller && doc && doc.documentElement) {
        var body = doc instanceof HTMLDocument && doc.body ? doc.body : doc.documentElement;

        var searchRange = doc.createRange();
        searchRange.selectNodeContents(body);
        var startPt = searchRange.cloneRange();
        startPt.collapse(true);
        var endPt = searchRange.cloneRange();
        endPt.collapse(false);

        var retRange = null;
        var finder = Cc["@mozilla.org/embedcomp/rangefind;1"].createInstance().QueryInterface(Ci.nsIFind);
        finder.caseSensitive = gFindBar._shouldBeCaseSensitive(word);

        while ((retRange = finder.Find(word, searchRange, startPt, endPt))) {
            allHits++;
            if (!curHit) {
                var sel = controller.getSelection(nrm), range;
                if (sel.toString()) range = sel.getRangeAt(0);
                else {
                    var editableNode = findbarFinder._getEditableNode(retRange.startContainer);
                    if (editableNode) sel = editableNode.editor.selectionController.getSelection(nrm);
                    if (sel.toString()) range = sel.getRangeAt(0);
                }
                var comp = range && ["startContainer", "endContainer", "startOffset", "endOffset"]
                    .every(function(prop) range[prop] == retRange[prop]);
                if (comp) curHit = allHits;
            }
            startPt = retRange.cloneRange();
            startPt.collapse(false);
        }
        Array.forEach(win.frames, function(frame) updateHits(frame));
    }
    if (win != content) return;
    allHits ? textbox.removeAttribute("status") : textbox.setAttribute("status", "notfound");
    forceFind && !curHit && allHits && gFindBar._find();
    lab.value = curHit + "/" + allHits;
}
updateHits();


gFindBar.updateHits = updateHits;
function insUpd(methodName, code) {
    const method = gFindBar[methodName];
    gFindBar[methodName] = Function("arguments.callee.method.apply(this, arguments);" + (code || "") + " this.updateHits();");
    gFindBar[methodName].method = method;
    addDestructor(function() gFindBar[methodName] = method);
}
insUpd("_find"); insUpd("_findAgain");
insUpd("_setCaseSensitivity", forceFindCS && " this._find();");


const progressListener = {
    onStateChange: function(wpr, req, state)
        state & Ci.nsIWebProgressListener.STATE_STOP && setTimeout(updateHits, 320),
    onLocationChange: function(wpr, req) !req && updateHits()
};
addDestructor(function() gBrowser.removeProgressListener(progressListener));


function onFindbar() {
    gBrowser[(gFindBar.hidden ? "remove" : "add") + "ProgressListener"](progressListener);
    !gFindBar.hidden && updateHits();
}
onFindbar();
const observer = new MutationObserver(onFindbar);
observer.observe(gFindBar, { attributes: true, attributesFilter: ["hidden"] });
addDestructor(function() observer.disconnect());

и еще есть кнопка Autocopy Minimal, в ней есть функция мигания тестка при выделении autocopy.selectingTextBlink, которая нафиг не нужна, можно очистить код от этой функции.
скрытый текст
({
        PREF_ROOT: "autocopy",
        PREF_BLINK: "autocopy.selectingTextBlink",
        get blinkMenuitem() {
                delete this.blinkMenuitem;
                return this.blinkMenuitem = menuPopup.querySelector('[onclick*="' + this.PREF_BLINK + '"]');
        },
        init: function() {
                gPrefService.addObserver(this.PREF_ROOT, this, false);
                addDestructor(() => gPrefService.removeObserver(this.PREF_ROOT, this));

                if (!gPrefService.getBoolPref(this.PREF_ROOT)) return;
                this.blink = gPrefService.getBoolPref(this.PREF_BLINK);
                this.setAutocopy(true);
        },
        observe: function(subj, topic, data) {
                if (data == this.PREF_ROOT)
                        this.setAutocopy(gPrefService.getBoolPref(data));
                else if (data == this.PREF_BLINK) setTimeout(() =>
                        this.blinkMenuitem.setAttribute("checked", this.blink = gPrefService.getBoolPref(data))
                , 100);
        },
        setAutocopy: function(set) {
                var method = set ? addEventListener : removeEventListener;
                for(var type of ["mousedown", "mouseup"]) method(type, this, false, gBrowser);
        },
        handleEvent: function(e) {
                if (e.button || e.target instanceof Ci.nsIDOMNSEditableElement) return;
                var win = e.target.ownerDocument.defaultView;
                if (win.top != content) return;

                var sel = win.getSelection().toString();
                if (e.type == "mousedown") {this.sel = sel; return;}
                if (!sel || sel == this.sel) return;

                goDoCommand("cmd_copy");

                if (!this.blink) return;
                gBrowser.selectedBrowser.blur();
                setTimeout(() => gBrowser.selectedBrowser.focus(), 300);
        }
}).init();

Отредактировано momo2000 (17-05-2017 11:42:56)

Отсутствует

 

№172017-05-2017 21:03:38

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

Re: Обсуждение кнопок CB

momo2000 пишет:

и еще есть кнопка Autocopy Minimal, в ней есть функция мигания тестка при выделении autocopy.selectingTextBlink, которая нафиг не нужна, можно очистить код от этой функции.

Выделить код

Код:

({
        PREF_ROOT: "autocopy",
        init: function() {
                cbu.isPref(this.PREF_ROOT, true);
                gPrefService.addObserver(this.PREF_ROOT, this, false);
                addDestructor(()=> gPrefService.removeObserver(this.PREF_ROOT, this));

                if (!gPrefService.getBoolPref(this.PREF_ROOT)) return;
                this.setAutocopy(true);
        },
        observe: function(subj, topic, data) {
                if (data == this.PREF_ROOT)
                        this.setAutocopy(gPrefService.getBoolPref(data));
        },
        setAutocopy: function(set) {
                var method = set ? addEventListener : removeEventListener;
                for(var type of ["mousedown", "mouseup"]) method(type, this, false, gBrowser);
        },
        handleEvent: function(e) {
                if (e.button || e.target instanceof Ci.nsIDOMNSEditableElement) return;
                var win = e.target.ownerDocument.defaultView;
                if (win.top != content) return;

                var sel = win.getSelection().toString();
                if (e.type == "mousedown") {this.sel = sel; return;}
                if (!sel || sel == this.sel) return;

                goDoCommand("cmd_copy");
        }
}).init();

Отсутствует

 

№172123-05-2017 08:15:48

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

Re: Обсуждение кнопок CB

bunda1
:beer:

Отсутствует

 

Board footer

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