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

Mozilla Россия — свежие версии программ Mozilla, а также масса полезной информации по каждому продукту.

№170119-04-2017 20:04:44

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

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

_zt пишет:

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

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

Отсутствует

 

№170219-04-2017 21:02:37

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

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

difabor пишет:

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

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

Отсутствует

 

№170319-04-2017 22:07:02

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 408
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
Сообщений: 138
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
Сообщений: 330
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
Сообщений: 259
UA: Firefox 52.0

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

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

Отсутствует

 

№171029-04-2017 20:18:58

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4532
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
Сообщений: 4532
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
Сообщений: 2015
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
Сообщений: 138
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
Сообщений: 4532
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
Сообщений: 4532
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:

Отсутствует

 

№172216-07-2017 16:59:01

foxboy
Участник
 
Группа: Members
Зарегистрирован: 06-06-2015
Сообщений: 22
UA: Palemoon 24.0

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

Может есть у кого кнопка для дополнения  Cookies Export/import :: Дополнения Firefox

Отсутствует

 

№172324-07-2017 12:40:08

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

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

Кто поможет, надо в этот код

Выделить код

Код:

var itemsArr = [
["Поиск по текущему сайту",function(){var getSel=function(w){var s,d=w.document;if(d.selection){var r=d.selection.createRange();s=r?r.text:''}else{s=d.getSelection().toString();if(!s){var e,t=d.getElementsByTagName('textarea'),u=d.getElementsByTagName('input'),i=t.length;while(e=(i>0)?t[--i]:u[-i--])try{if(e.offsetHeight>0&&(s=e.value.substring(e.selectionStart,e.selectionEnd)))break}catch(x){}}};if(!s)for(var j=0,f;f=w.frames[j];j++){try{if(s=getSel(f))break}catch(x){}};return s};var w=window,s=w.prompt('Поиск на этом сайте с помощью Google',getSel(w));if(s){w.open('http://www.google.com/search?as_q='+encodeURIComponent(s)+'&as_sitesearch='+w.location.hostname)}}],
,
["Night - ночной стиль",function(){var night=function(w){(function(d){var css='html{background:#333 !important}html *{background:none !important;color:#bbb !important;border-color:#333 !important;border-width:0 !important}html a,html a *{color:#5c8599 !important;text-decoration:underline !important}html a:visited,html a:visited *,html a:active,html a:active *{color:#525f66 !important}html a:hover,html a:hover *{color:#cef !important;background:#023 !important}html input,html select,html button,html textarea{background:#4d4c40 !important;border:1px solid #5c5a46 !important;border-top-color:#474531 !important;border-bottom-color:#7a7967 !important}html input[type=button],html input[type=submit],html input[type=reset],html input[type=image],html button{border-top-color:#7a7967 !important;border-bottom-color:#474531 !important}html input:focus,html select:focus,html option:focus,html button:focus,html textarea:focus{background:#5c5b3e !important;color:#fff !important;border-color:#474100 #665d00 #7a7849 !important;outline:2px solid #041d29 !important}html input[type=button]:focus,html input[type=submit]:focus,html input[type=reset]:focus,html input[type=image]:focus,html button:focus{border-color:#7a7849 #665d00 #474100 !important}html input[type=radio]{background:none !important;border-color:#333 !important;border-width:0 !important}html img[src],html input[type=image]{opacity:.5}html img[src]:hover,html input[type=image]:hover{opacity:1}html,html body{scrollbar-base-color:#4d4c40 !important;scrollbar-face-color:#5c5b3e !important;scrollbar-shadow-color:#5c5b3e !important;scrollbar-darkshadow-color:#474531 !important;scrollbar-track-color:#4d4c40 !important;scrollbar-arrow-color:#000 !important;scrollbar-3dlight-color:#7a7967 !important}';var s=d.getElementsByTagName('style');for(var i=0,si;si=s[i];i++){if(si.innerHTML==css){si.parentNode.removeChild(si);return}};var heads=d.getElementsByTagName('head');if(heads.length){var node=d.createElement('style');node.type='text/css';node.appendChild(d.createTextNode(css));heads[0].appendChild(node)}})(w.document);for(var i=0,f;f=w.frames[i];i++){try{arguments.callee(f)}catch(e){}}};night(window)}],
["Сохранить как PDF",function(){window.open('http://www.web2pdfconvert.com/engine?cURL='+escape(location.href)+'&title='+escape(document.title)+'&ref=bookmarklet')}],];
var contextMenu = document.getElementById("contentAreaContextMenu");
var nextEleMenu = contextMenu.children['context-inspect'];
var menuId = "context-ext-addon";
var menuItem, menuPopup, menu = document.getElementById(menuId);
if (menu) {contextMenu.removeChild(menu);};
menuPopup = document.createElement("menupopup");
menu = document.createElement("menu");
menu.setAttribute("id", menuId);menu.setAttribute("label", "Дополнительно");
for (var i = 0; i < itemsArr.length; i++) {if (itemsArr[i]) {menuItem = document.createElement("menuitem");menuItem.setAttribute("label", itemsArr[i][0]);
menuItem.addEventListener("command", (function(f){return function(){content.location.href = "javascript:(" + encodeURI(f) + ")()"}})(itemsArr[i][1].toString()), false);
} else {menuItem = document.createElement("menuseparator");};menuPopup.appendChild(menuItem);};menu.appendChild(menuPopup);contextMenu.insertBefore(menu, nextEleMenu);
addDestructor(function(){contextMenu.removeChild(menu)});


подстройть этот

Выделить код

Код:

var menuAddPopup = menuM.appendChild(document.createElement("menupopup"));
document.getElementById("context-viewsource");
var contextViewsource2 = menuAddPopup.appendChild(contextViewsource.cloneNode(true));
contextViewsource2.id = "context-viewsource2.";
contextViewsource2.hidden = false;


Еще хотел эту прикрутить...если не сложно спс, потом постараюсь разобраться на примере.
[Переключить стиль на странице]

Выделить код

Код:

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%3E%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u0441%u0442%u0438%u043B%u044C%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAyhJREFUOMtdk11oW3UYh59zzj8nyUnz2TSmaWfT2lY3nWvRi7KBX3gxxBsHguKY84OyG9ErL7yQgdfFKYKI4gQvnKDI5kVRkNWqGyg6R9utpraNXWzztTRZ0pPk5Jz/8aJbaf3Be/e+Dw8v76twO2ff63uj0ejMBHziRZ9P/VEX6uvArCYCj0i5VbXcePr5yT/G+V80gOnpqx9n5+tv9QYap2rWSxNJY/G5n+ZPpwe6jUfrzvF0NNR/n99uJOPpl080LJlNpcfq3eGDzVLpmhQA5ZvtsSdPvIOz/Db37nsFf3sUbd8ghycmKOVWGThwjFuVAlkuhX6+EjsiPCKTCOmVhQVsASClVHtSAazUGVzHReNp9g+DL+xhqHsYAFuEmZuf8wmhJhXXjhCwjMmHJrcBruuqEoiHPQhgy7RxJSgKWLnz5ItVPp0u4JjrXe+/sHz0yoqSPXfZX92M5231zjIcYL3WIVux2GxJGpZEupD/5Qzh1iz3jw4imxuEjXwiHmoe99B5rGLKxA7gjkFvTCcV00lFFNT5N4mnoijqdlvHktRKdYYTq0NTp5iqNZ0hsdvg6pqJZUl8msLdMZ3fP/mMo8cO47SzjChfwoEStgVW1WXpekV37OCzewyWNlrMrZk0O5KFf5scfGYKUDC32vQaOcZHW3SnwnhDI3z9vafasTB2DGxgsNeHZUk0VSER0tjsPMyv776GHhzniadUfrvUplG0IWHLa6aRi6jOithtkIh6QIK0JfmyRfKuISInZ3ngwf18dbKfizdj9loleqtLc6qGRgbUi3sALQk4Ll26ynCfn6ihcU/yEB7g1QtF2h+ctRc//Gheuu5MROssK5Dds0QJuIBhCHyasgN2AAXQhGYHE31FT6d52WM3Mk67XtwDiNw+JHYN7S7TbJtC91Z0n1EM+nvKhzbXTAGQ+eufC4+3RsYMj8NW3WTp71U7v1G084WyvZhZaeVubDT+nLteFkKsj46kl1Upqj09mnX6m5ntZ/r2uy8+P//DuVq+UDjiujLk9epqOBS0DMNver16VVWV9fRA/416w1xstzp51+etpFIpC+A/x3JsuL3cxBcAAAAASUVORK5CYII%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/*Initialization%20Code*/%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5BgetMarkupDocumentViewer%28%29.authorStyleDisabled%20%3F%20gPageStyleMenu.switchStyleSheet%28%27%27%29%20%3A%20gPageStyleMenu.disableStyle%28%29%3B%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

Отредактировано Gladius333 (24-07-2017 13:02:39)

Отсутствует

 

№172425-07-2017 13:31:07

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

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

Gladius333 пишет:

Еще хотел эту прикрутить Переключить стиль на странице

Выделить код

Код:

((contextMenu, el)=> {
   var menu = document.createElement("menu");      
   menu.setAttribute("label", "Дополнительно");
   menu.setAttribute("id", "context-ext-addon");  
   contextMenu.insertBefore(menu, contextMenu.children[el]); 
   addDestructor(()=> menu.remove() );

   var array = [
      ["Поиск по текущему сайту", ()=>{ var getSel=function(w){var s,d=w.document;if(d.selection){var r=d.selection.createRange();s=r?r.text:''}else{s=d.getSelection().toString();if(!s){var e,t=d.getElementsByTagName('textarea'),u=d.getElementsByTagName('input'),i=t.length;while(e=(i>0)?t[--i]:u[-i--])try{if(e.offsetHeight>0&&(s=e.value.substring(e.selectionStart,e.selectionEnd)))break}catch(x){}}};if(!s)for(var j=0,f;f=w.frames[j];j++){try{if(s=getSel(f))break}catch(x){}};return s};var w=window,s=w.prompt('Поиск на этом сайте с помощью Google',getSel(w));if(s){w.open('http://www.google.com/search?as_q='+encodeURIComponent(s)+'&as_sitesearch='+w.location.hostname)} }],
      ["Night - ночной стиль", ()=>{ var night=function(w){(function(d){var css='html{background:#333 !important}html *{background:none !important;color:#bbb !important;border-color:#333 !important;border-width:0 !important}html a,html a *{color:#5c8599 !important;text-decoration:underline !important}html a:visited,html a:visited *,html a:active,html a:active *{color:#525f66 !important}html a:hover,html a:hover *{color:#cef !important;background:#023 !important}html input,html select,html button,html textarea{background:#4d4c40 !important;border:1px solid #5c5a46 !important;border-top-color:#474531 !important;border-bottom-color:#7a7967 !important}html input[type=button],html input[type=submit],html input[type=reset],html input[type=image],html button{border-top-color:#7a7967 !important;border-bottom-color:#474531 !important}html input:focus,html select:focus,html option:focus,html button:focus,html textarea:focus{background:#5c5b3e !important;color:#fff !important;border-color:#474100 #665d00 #7a7849 !important;outline:2px solid #041d29 !important}html input[type=button]:focus,html input[type=submit]:focus,html input[type=reset]:focus,html input[type=image]:focus,html button:focus{border-color:#7a7849 #665d00 #474100 !important}html input[type=radio]{background:none !important;border-color:#333 !important;border-width:0 !important}html img[src],html input[type=image]{opacity:.5}html img[src]:hover,html input[type=image]:hover{opacity:1}html,html body{scrollbar-base-color:#4d4c40 !important;scrollbar-face-color:#5c5b3e !important;scrollbar-shadow-color:#5c5b3e !important;scrollbar-darkshadow-color:#474531 !important;scrollbar-track-color:#4d4c40 !important;scrollbar-arrow-color:#000 !important;scrollbar-3dlight-color:#7a7967 !important}';var s=d.getElementsByTagName('style');for(var i=0,si;si=s[i];i++){if(si.innerHTML==css){si.parentNode.removeChild(si);return}};var heads=d.getElementsByTagName('head');if(heads.length){var node=d.createElement('style');node.type='text/css';node.appendChild(d.createTextNode(css));heads[0].appendChild(node)}})(w.document);for(var i=0,f;f=w.frames[i];i++){try{arguments.callee(f)}catch(e){}}};night(window) }],
      ["Сохранить как PDF", ()=>{ window.open('http://www.web2pdfconvert.com/engine?cURL='+escape(location.href)+'&title='+escape(document.title)+'&ref=bookmarklet') }],
      ["separator"],
      ["Переключить стиль на странице", "getMarkupDocumentViewer().authorStyleDisabled ? gPageStyleMenu.switchStyleSheet('') : gPageStyleMenu.disableStyle()" ],
   ];
   var menuPopup = menu.appendChild( document.createElement("menupopup") );              
   array.forEach(m=> {
      if ( m[0] == "separator" ) { menuPopup.appendChild(document.createElement("menuseparator")); return };  
      var mItem = menuPopup.appendChild(document.createElement("menuitem"));
      mItem.setAttribute("label", m[0]);
      
      typeof(m[1]) == "string"
      ? mItem.addEventListener("command", ()=> eval(m[1]))
      : mItem.addEventListener("command", ()=> content.location.href = "javascript:(" + encodeURI(m[1]) + ")()");
   });
})(document.getElementById("contentAreaContextMenu"), "context-inspect");

Добавлено 25-07-2017 13:34:11
Не понял что за подстроить этот:

Выделить код

Код:

var menuAddPopup = menuM.appendChild(document.createElement("menupopup"));
document.getElementById("context-viewsource");
var contextViewsource2 = menuAddPopup.appendChild(contextViewsource.cloneNode(true));
contextViewsource2.id = "context-viewsource2.";
contextViewsource2.hidden = false;

Что должен делать этот код?

Отредактировано bunda1 (25-07-2017 13:34:11)

Отсутствует

 

№172525-07-2017 20:03:07

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

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

bunda1 пишет:

Gladius333 пишет:

Еще хотел эту прикрутить Переключить стиль на странице

Что должен делать этот код?...

Спасибо за код, ты его обновил)
Это "просмотр исходного кода страницы", хотя он итак выпадает в стандартном меню, увидел в другом коде и захотел добавить.

я его выдернул отсюда "исходный код страницы"

Выделить код

Код:

// Adds.Menu
(()=> {var contMenu = document.getElementById("contentAreaContextMenu");
var addMenufragm = document.createDocumentFragment('menupopup');
(contextMenu => {

var menuM = contextMenu.appendChild(document.createElement("menu"));
menuM.id = "content-addmenu.";
menuM.setAttribute("label", "Дополнительно ...");

var menuAddPopup = menuM.appendChild(document.createElement("menupopup"));
var contextViewsource = document.getElementById("context-viewsource");
var contextViewsource2 = menuAddPopup.appendChild(contextViewsource.cloneNode(true));
contextViewsource2.id = "context-viewsource2.";
contextViewsource2.hidden = false;

var menu8 = menuAddPopup.appendChild(document.createElement("menuitem"));
menu8.id = "content-bugmen.";
menu8.setAttribute("label", "Поискать логины к сайту на BugMeNot.com");
menu8.onclick = () => gBrowser.selectedTab = gBrowser.addTab("http://bugmenot.com/view/" + normDom());
//=======================
 // Удалить куки текущего сайта в контекстном меню на странице, от 04.02.2017. ................bunda1
var menu = contextMenu.appendChild(document.createElement("menu"));menu.id = "content-removeCookies.";menu.setAttribute("label", "Удалить куки текущего сайта");
var menuPopup = menu.appendChild(document.createElement("menupopup"));var menuitem = menuPopup.appendChild(document.createElement("menuitem"));
menuitem.setAttribute("label", "Удалить (так же будут удалены все Flash-куки)");menuitem.onclick =()=> {var host = Services.eTLD.getBaseDomain(gBrowser.currentURI);
for ( var en = Services.cookies.enumerator; en.hasMoreElements(); ) {var cookie = en.getNext().QueryInterface(Ci.nsICookie);
~cookie.host.indexOf(host.trim()) && Services.cookies.remove(cookie.host, cookie.name, cookie.path, false);}
var reversedDomain = host.split("").reverse().join("") + ".";Cu.import("resource://gre/modules/FileUtils.jsm");var file = FileUtils.getFile("ProfD", ["webappsstore.sqlite"]);
var dbConn = Services.storage.openDatabase(file);dbConn.executeSimpleSQL("DELETE FROM webappsstore2 WHERE scope LIKE \"%" + reversedDomain +"%\"");dbConn.close();
 //удалить и все Flash куки. закомпанию.
var dir = Services.dirsvc.get('Home', Ci.nsIFile);dir.append("Application Data");dir.append("Macromedia");dir.remove(true);dir.create(Ci.nsIFile.DIRECTORY_TYPE, 0777);};

contMenu.addEventListener("popupshowing", () => {contextViewsource.hidden = gBrowser.currentURI.scheme.startsWith("http") || gContextMenu.onLink;
menu.hidden = menuW.hidden = menuM.hidden = pophiddP();menuA.hidden = menu.hidden || onWArch(gBrowser.currentURI.spec);menuG.hidden = menu.hidden || onGCahe(gBrowser.currentURI.spec);
menuGl.hidden = !gContextMenu.linkURI || !gContextMenu.linkURI.scheme.startsWith("http");menuAl.hidden = menuGl.hidden || onWArch(gContextMenu.linkURI.spec);}, false);
addDestructor(() => {menuW.remove();menuG.remove();menuA.remove();menuGl.remove();menuAl.remove();menuM.remove();menu.remove()});})(addMenufragm);
contMenu.insertBefore(addMenufragm, contMenu.lastChild);var onGCahe = function(link) {
if((link.startsWith('https://webcache.googleusercontent.com/search?q=cache:') || link.startsWith('http://webcache.googleusercontent.com/search?q=cache:') || link.startsWith('http://www.google.com/search?q=cache:') || link.startsWith('https://www.google.com/search?q=cache:')) && link.indexOf(':http') > 0)return true;return false;};
var Glink = function(link) {return decodeURIComponent(link.substring(link.indexOf(':http')+1).split('+&')[0].split('&')[0]);};var onWArch = function(link) {
if((link.startsWith('http://web.archive.org/web/') || link.startsWith('https://web.archive.org/web/')) && link.indexOf('/http') > 0)return true;return false;};
var Wlink = function(link) {return link.substring(link.indexOf('://web.archive.org/web/')+23).match(/\/(https?:\/\/\S+)/)[1];};
var normlink = function(link) {if(onGCahe(link))return Glink(link);if(onWArch(link))return Wlink(link);return link;};
var normDom =  function() {let urispec = gBrowser.currentURI.spec;let dom = '';if(onGCahe(urispec)) dom =  Glink(urispec);if(onWArch(urispec)) dom =  Wlink(urispec);
if(dom)return dom.replace(/^https?:\/\//,'').split('/')[0].split('?')[0].split('#')[0];return content.location.hostname;};var pophiddP = function() {
if(!gBrowser.currentURI.scheme.startsWith("http") || gContextMenu.onVideo || gContextMenu.isContentSelected || gContextMenu.onLink || gContextMenu.onTextInput)return true;return false;};})();


Кстати хотел "Удалить куки+флеш" тудаже в прошлую кнопку.
Вообще я нашел 3 таких кода, все похожи, только код отличается хочу все в одну собрать на того кода которую ты сделал компактную.
Это полный код, хочю сюда дополнить, с других кодов

Выделить код

Код:

((contextMenu, el)=> {
var menu = document.createElement("menu");
menu.setAttribute("label", "Дополнительно");
menu.setAttribute("id", "context-ext-addon");
contextMenu.insertBefore(menu, contextMenu.children[el]);
addDestructor(()=> menu.remove() );
var array = [["Поиск по текущему сайту",function(){var getSel=function(w){var s,d=w.document;if(d.selection){var r=d.selection.createRange();s=r?r.text:''}else{s=d.getSelection().toString();if(!s){var e,t=d.getElementsByTagName('textarea'),u=d.getElementsByTagName('input'),i=t.length;while(e=(i>0)?t[--i]:u[-i--])try{if(e.offsetHeight>0&&(s=e.value.substring(e.selectionStart,e.selectionEnd)))break}catch(x){}}};if(!s)for(var j=0,f;f=w.frames[j];j++){try{if(s=getSel(f))break}catch(x){}};return s};var w=window,s=w.prompt('Поиск на этом сайте с помощью Google',getSel(w));if(s){w.open('http://www.google.com/search?as_q='+encodeURIComponent(s)+'&as_sitesearch='+w.location.hostname)}}],
["Сгенерировать/показать пароль", function(){var getRandomPass=function(d){var chars='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';var rez='';var len=d>=3?d:3;while(rez.length<len){rez+=chars.charAt(Math.floor(Math.random()*chars.length))}return/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).+$/.test(rez)?rez:arguments.callee(len)};var findPassEle=function(p){var c,s='',r=false,f=document.getElementsByTagName('form');for(var i=0;i<f.length;i++){c=f[i].elements;for(var j=0,e;e=c[j];j++){if(e.type=='password'){r=true;if(p){e.value=p;e.focus()}else if(e.value)s+='\n\n'+e.value}}};return r?s:null};var s=findPassEle();if(s){alert('На этой странице уже имеется пароль:'+s)}else{findPassEle(prompt('Пароль сгенерирован'+(s==null?':':'. Вставить?'),getRandomPass(12)))}}],
["Информация о странице +", function(){var meta='',scripts='',embed='',iframes='',cookies='';var corrUrl=function(url){if(!url)return'';var q=url.indexOf('?')+1;return((q&&url.length>50)?url.slice(0,q>50?q:50)+'\u2026':url)+'\n'};var fullUrl=function(url){var a=document.createElement('a');a.href=url;return url?corrUrl(a.href):''};var m=document.getElementsByTagName('meta');for(var i=0,mi;mi=m[i];i++){meta+=(mi.name?mi.name+': ':(mi.httpEquiv?mi.httpEquiv+': ':''))+mi.content+'\n'};var s=document.getElementsByTagName('script');for(var i=0,si;si=s[i];i++){if(si.src)scripts+=corrUrl(si.src)};var e=document.getElementsByTagName('embed');var o=document.getElementsByTagName('object');for(var i=0,ei;ei=e[i];i++){embed+=fullUrl(ei.getAttribute('src'))};for(var i=0,oi;oi=o[i];i++){var src=oi.getAttribute('data')||oi.getAttribute('src')||oi.getAttribute('source');if(!src){var params=oi.getElementsByTagName('param');for(var j=0,p;p=params[j];j++){if(p.hasAttribute('name')&&p.getAttribute('name').match(/^(movie|data|src|code|filename|url|source)$/i)){src=p.getAttribute('value');break}}};var lnk=fullUrl(src);if(embed.indexOf(lnk)==-1)embed+=lnk};var f=document.getElementsByTagName('iframe');for(var i=0,fi;fi=f[i];i++){if(fi.src)iframes+=corrUrl(fi.src)};var c=document.cookie.split(';');for(var i=0,ci;ci=c[i];i++){while(ci.charAt(0)==' ')ci=ci.slice(1);if(ci.length>40)ci=ci.slice(0,40)+'\u2026';cookies+=ci+'\n'};var lastmod=(Date.parse(document.lastModified)==0)?'':document.lastModified;var mode=document.getElementsByTagName('HTmL').length==0?'Really strict':(document.compatMode=='CSS1Compat'?'Normal strict':'Quirks');var title=document.title||(document.getElementsByTagName('title')[0]&&document.getElementsByTagName('title')[0].text)||'';if(meta)meta='\nMeta-данные:\n'+meta;if(scripts)scripts='\nСкрипты:\n'+scripts;if(embed)embed='\nВстроенные объекты:\n'+embed;if(iframes)iframes='\nIframes:\n'+iframes;if(cookies)cookies='\nCookies:\n'+cookies;alert('Идентификация браузера: '+navigator.userAgent+'\n\nЗаголовок: '+title+'\n\nАдрес: '+location.href+'\n\nРеферрер: '+document.referrer+'\n\nДата последнего изменения: '+lastmod+'\n\nРежим отображения: '+mode+' mode\n'+meta+scripts+embed+iframes+cookies)}],
["Исходный код (snapshot)", function(){var q='  ',C={img:1,br:1,link:1,input:1,hr:1,meta:1},u=false,v=0,D=1,g=window.document,m=window.location,w='resizable=yes,scrollbars=yes,location=no',h='</span></li>';var x=function(a){return'<span class=\'tag\'>&lt;'+a+''};var y=function(a){return(a?'/':'')+'&gt;</span>'};var z=function(a,b){if(b||C[a.toLowerCase()])return'';return'<span class=\'tag\'>&lt;/'+a+'&gt;</span>'};var j=function(){var a=v.toString();while(a.length<3)a='0'+a;return'<li class=\'line'+(D&&((v++)&1)?' dark\'':'\'')+'><span>'};var n=function(a){return a.replace(/</g,'&lt;').replace(/>/g,'&gt;')};var E=function(a){var b=a.doctype,c='';if(b){c=j()+x('!DOCTYPE')+' <span class=\'attrDoc\'>'+b.nodeName+(b.publicId?' PUBLIC \''+b.publicId+'\'':'')+(b.systemId?'</span></span>'+h+j()+'<span class=\'tag\'><span class=\'attrDoc\'>'+q+'\''+b.systemId+'\'':'')+'</span>'+y()+h}return c};var F=function(a){var b=a.attributes,c=null,d='';for(var f=0;c=b[f];f++){if(c.specified&&c.value){d+=' <span class=\'attrTitle\'>'+c.name+'</span>=<span class=\'attrValue\'>\x22'+n(c.value.replace(/\t/g,q))+'\x22</span> '}}return d};var r=function(a){return n(a.nodeValue.replace(/[\n\t\r\u00A0]+ */g,'').replace(/ +/g,' '))};var G=function(a){var b=0,c='';while(b<a){c+=q;b++}return c};var A=function(a,b,c){var d='',f=G(b++);switch(a.nodeType){case 1:{var i=a.childNodes,k=null;var s=(i.length==0)||(i.length==1&&i[0].nodeType==3);var t=u&&i.length==0;var l=j()+f+x(a.nodeName)+F(a)+y(t);if(!s)l+=h;for(var B=0;k=i[B];B++){l+=A(k,b,!s&&k.nodeType==3)}if(s){l+=(a.nodeName.toLowerCase()=='textarea'?n(a.value):'')+z(a.nodeName,t)+h}else{l+=j()+f+z(a.nodeName,t)+h}return l}case 3:{if((d=r(a))&&c){return j()+f+d+h}else{return d}}case 4:{d=r(a);return j()+f+'<span class=\'cdata\'>&lt;![CDATA[</span>'+d+'<span class=\'cdata\'>]]&gt;</span>'+h}case 8:{d=r(a);return j()+f+'<span class=\'comment\'>&lt;!--'+d+'--&gt;</span>'+h}}return a.nodeType};var H=function(a){var b,c='';if(a){var d=a.getSelection().getRangeAt(0),f=d.commonAncestorContainer;if(f.nodeType==3||f.nodeType==4)f=f.parentNode;b=f.cloneNode(false);b.appendChild(d.cloneContents());var i=d.startContainer,k=d.endContainer;if(i!=f.firstChild||(i.nodeType==3&&d.startOffset!=0))b.insertBefore(g.createTextNode('\u2026'),b.firstChild);if(k!=f.lastChild||(k.nodeType==3&&d.endOffset!=k.nodeValue.length))b.appendChild(g.createTextNode('\u2026'))}else{c=E(g);b=g.documentElement};c+=A(b,0);return c};var I=function(a){if(a&&a.getSelection){if(a.getSelection().toString())return a;for(var b=0,c,d;c=a.frames[b];b++){try{if(d=arguments.callee(c))return d}catch(e){}}}};var o=I(window);if(o){g=o.document;m=o.location;w+=',width=800,height=500,left=100,top=100'};u=/[a-z]/.test(g.documentElement.nodeName);var J='<!DOCTYPE html PUBLIC><html><head><title>Snapshot: '+((g.getElementsByTagName('title').length&&n(g.getElementsByTagName('title')[0].text))||(m.protocol+'//'+m.host+m.pathname))+'</title><style type=\'text/css\'>body{padding:0 5px;margin:0;font-family:sans-serif;font-size:.7em;background-color:#FFF;color:#000;}#content{white-space:pre-wrap}ol{color:#999;}span{color:#000}.tag{color:#05F}.attrTitle{color:#E00}.attrValue{color:#C0C}.attrDoc{color:#800080}.comment{color:#008000}.cdata{color:#63D}.line{margin:0;padding:0}.dark{background-color:#FAFAFA}</style></head><body><ol id=\'content\'>'+H(o)+'</ol></body></html>';var p=window.open('about:blank','_blank',w);p.document.write(J);p.document.onkeydown=function(a){if(a.keyCode==27)p.close()};p.document.close()}],
["Шахматы", function(){window.open('data:text/html;base64,PGh0bWw+PGhlYWQ+PHRpdGxlPkNoZXNzPC90aXRsZT48bWV0YSBuYW1lPSJhdXRob3IiIGNvbnRlbnQ9Ik9zY2FyIFRvbGVkbyBHLiI+PG1ldGEgbmFtZT0ic2l0ZSIgY29udGVudD0iaHR0cDovL25hbm9jaGVzcy4xMTBtYi5jb20vY2hlc3M0Lmh0bWwiPjwvaGVhZD48Ym9keT48c2NyaXB0PnZhciBCLGkseSx1LGIsST1bXSxHPTEyMCx4PTEwLHo9MTUsTT0xZTQsbD1bNSwzLDQsNiwyLDQsMyw1LDEsMSwxLDEsMSwxLDEsMSw5LDksOSw5LDksOSw5LDksMTMsMTEsMTIsMTQsMTAsMTIsMTEsMTMsMCw5OSwwLDMwNiwyOTcsNDk1LDg0NiwtMSwwLDEsMiwyLDEsMCwtMSwtMSwxLC0xMCwxMCwtMTEsLTksOSwxMSwxMCwyMCwtOSwtMTEsLTEwLC0yMCwtMjEsLTE5LC0xMiwtOCw4LDEyLDE5LDIxXTtmdW5jdGlvbiBYKHcsYyxoLGUsUyxzKXt2YXIgdCxvLEwsRSxkLE89ZSxOPS1NKk0sSz03OC1oPDx4LHAsZyxuLG0sQSxxLHIsQyxKLGE9eT8teDp4O3lePTg7RysrO2Q9d3x8cyYmcz49aCYmWCgwLDAsMCwyMSwwLDApPk07ZG97aWYobz1JW3A9T10pe3E9byZ6Xnk7aWYocTw3KXtBPXEtLSYyPzg6NDtDPW8tOSZ6P1s1Myw0Nyw2MSw1MSw0Nyw0N11bcV06NTc7ZG97cj1JW3ArPWxbQ11dO2lmKCF3fHA9PXcpe2c9cXxwK2EtUz8wOlM7aWYoIXImKCEhcXxBPDN8fCEhZyl8fChyKzEmel55KT45JiZxfEE+Mil7aWYobT0hKHItMiY3KSlyZXR1cm4geV49OCxJW0ctLV09TyxLO0o9bj1vJno7RT1JW3AtYV0mejt0PXF8RS03P246KG4rPTIsNl55KTt3aGlsZShuPD10KXtMPXI/bFtyJjd8MzJdLWgtcTowO2lmKHMpTCs9KDEtcT9sWyhwLXAleCkveCszN10tbFsoTy1PJXgpL3grMzddK2xbcCV4KzM4XSoocT8xOjIpLWxbTyV4KzM4XSsobyYxNikvMjohIW0qOSkrKCFxPyEoSVtwLTFdXm4pKyEoSVtwKzFdXm4pK2xbbiY3fDMyXS05OSshIWcqOTkrKEE8Mik6MCkrIShFXnleOSk7aWYocz5ofHwxPHMmcz09aCYmTD56fGQpe0lbcF09bixJW09dPW0/KElbZ109SVttXSxJW21dPTApOmc/SVtnXT0wOjA7TC09WChzPmh8ZD8wOnAsTC1OLGgrMSxJW0crMV0sSj1xfEE+MT8wOnAscyk7aWYoIShofHxzLTF8Qi1PfGktbnxwLWJ8TDwtTSkpcmV0dXJuIFcoKSxHLS0sdT1KO0o9cS0xfEE8N3x8bXx8IXN8ZHxyfG88enx8WCgwLDAsMCwyMSwwLDApPk07SVtPXT1vO0lbcF09cjttPyhJW21dPUlbZ10sSVtnXT0wKTpnP0lbZ109OV55OjB9aWYoTD5OfHxzPjEmJkw9PU4mJiFoJiZNYXRoLnJhbmRvbSgpPC41KXtJW0ddPU87aWYocz4xKXtpZihoJiZjLUw8MClyZXR1cm4geV49OCxHLS0sTDtpZighaClpPW4sQj1PLGI9cH1OPUx9bis9Snx8KGc9cCxtPXA8Tz9nLTM6ZysyLElbbV08enxJW20rTy1wXXx8SVtwKz1wLU9dKT8xOjB9fX19d2hpbGUoIXImcT4yfHwocD1PLHF8QT4yfG8+eiYhciYmKytDKi0tQSkpfX19d2hpbGUoKytPPjk4P089MjA6ZS1PKTtyZXR1cm4geV49OCxHLS0sTitNKk0mJk4+LUsrMTkyNHxkP046MH1CPWk9eT11PTA7d2hpbGUoQisrPDEyMClJW0ItMV09QiV4P0IveCV4PDJ8QiV4PDI/NzpCL3gmND8wOmxbaSsrXXwxNjo3O2ZvcihhPSI8dGFibGUgY2VsbHNwYWNpbmc9MCBhbGlnbj1jZW50ZXIgYm9yZGVyPTA+IixCPTA7Qjw4O0IrKylmb3IoYSs9Ijx0cj4iLGk9MjE7aTwyOTtpKyspYSs9Ijx0ZCB3aWR0aD02MCBoZWlnaHQ9NjAgb25jbGljaz1ZKCIrKEIqeCtpKSsiKSBpZD1vIisoQip4K2kpKyIgc3R5bGU9J2xpbmUtaGVpZ2h0OjUwcHg7Zm9udC1zaXplOjUwcHg7Ym9yZGVyOjJweCBzb2xpZCAiKyIjZTBlMGYwJyBiZ2NvbG9yPSMiKyhpK0ImMT8iZjBmIjoiYzBjIikrIjBmMCBhbGlnbj1jZW50ZXI+IjthKz0iPHRyPjx0ZCBjb2xzcGFuPTggYWxpZ249Y2VudGVyPjxzZWxlY3QgaWQ9dCBzdHlsZT0nZm9udC1zaXplOjIwcHgnPjxvcHRpb24+JiM5ODE5OzxvcHRpb24+Ijtkb2N1bWVudC53cml0ZShhKyImIzk4MjA7PG9wdGlvbj4mIzk4MjE7PG9wdGlvbj4mIzk4MjI7PC9zZWxlY3Q+PC90YWJsZT4iKTtmdW5jdGlvbiBXKCl7Qj1iO2ZvcihwPTIxO3A8OTk7cCs9cCV4LTg/MTozKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibyIrcCkuaW5uZXJIVE1MPSJceGEwXHUyNjVmXHUyNjVhXHUyNjVlXHUyNjVkXHUyNjVjXHUyNjViICBcdTI2NTlcdTI2NTRcdTI2NThcdTI2NTdcdTI2NTZcdTI2NTUiLmNoYXJBdChJW3BdJnopO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvIitwKS5zdHlsZS5ib3JkZXJDb2xvcj1wPT1CPyJyZWQiOiIjZTBlMGYwIn19VygpO2Z1bmN0aW9uIFkocyl7aT0oSVtzXV55KSZ6O2lmKGk+OCl7Yj1zO1coKX1lbHNlIGlmKEImJmk8OSl7Yj1zO2k9SVtCXSZ6O2lmKChpJjcpPT0xJihiPDI5fGI+OTApKWk9MTQtZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInQiKS5zZWxlY3RlZEluZGV4Xnk7WCgwLDAsMCwyMSx1LDEpO2lmKHkpd2luZG93LnNldFRpbWVvdXQoIlgoMCwwLDAsMjEsdSwyLypwbHkqLyksWCgwLDAsMCwyMSx1LDEpIiwyNTApfX08L3NjcmlwdD48L2JvZHk+PC9odG1sPgo=','_blank','width=600,height=550,left=200,top=100')}],
["separator"],
//["Искать логин на Login2",function(){window.open('http://login2.me/#'+location.hostname,'login2.me_'+location.hostname,'width=500,height=400,left=500,top=100,scrollbars=yes,location=no')}],
//["Искать логин на Loginz",function(){window.open('http://loginz.org/view/'+location.hostname,'loginz_'+location.hostname,'width=500,height=400,left=500,top=100,scrollbars=yes,location=no')}],
//["Искать логин на ByPass",function(){window.open('https://bypass.org.ru/login/'+location.hostname,'bypass_'+location.hostname,'width=500,height=400,left=500,top=100,scrollbars=yes,location=no')}],
//["Искать логин на BugMeNot",function(){window.open('http://bugmenot.com/view/'+location.hostname,'bugmenot_'+location.hostname,'width=500,height=400,left=500,top=100,scrollbars=yes,location=no')}],
//["separator"],
//["Показать ссылки на Flash/Video", function(){var getVideo=function(flashvars,src){var getLink=function(s){var a=s.match(/[^\s\x22=&?]+\.[^\s\x22=&?\/]*(flv|mp4)/i);return a?a[0]:''};var getQuery=function(s,q){var a=s.match(new RegExp('(^|[&?])'+q+'=([^&]+)'));return a?a[2]:''};var getJson=function(s,q){var a=s.match(new RegExp('\x22'+q+'\x22:\\s*(\x22.+?\x22)'));return a?eval(a[1]):''};var getURL=function(f,s){return f.match(/^(\w+:\/\/|\/|$)/)?f:s.replace(/[#?].*$/,'').replace(/[^\/]*$/,f)};var decodeURL=function(s){try{return decodeURIComponent(s)}catch(e){return unescape(s)}};var q='',url=location.href,flv=decodeURL(flashvars);if(url.indexOf('youtube.com/watch?')!=-1&&(q=getQuery(flv,'url')))return decodeURL(q)+'&signature='+getQuery(flv,'sig')+'&title='+encodeURIComponent(document.title);if(url.indexOf('video.google.com/videoplay?')!=-1&&(q=getQuery(src,'videoUrl')))return decodeURL(q);if(url.indexOf('metacafe.com/watch/')!=-1&&(q=getJson(flv,'mediaURL')))return q+'?__gda__='+getJson(flv,'value');if(url.indexOf('dailymotion.com/')!=-1&&(q=getJson(flv,'hqURL')||getJson(flv,'sdURL')))return q;if(url.indexOf('www.break.com/')!=-1&&(q=getQuery(flv,'videoPath')))return q+'?'+getQuery(flv,'icon');if(url.indexOf('my-hit.ru/film/')!=-1&&(q=getLink(flv)))return q+'?start=0&id='+getQuery(flv,'id');return getURL(getLink(flv)||decodeURL(getLink(src)),src)};var createLink=function(url,txt){var oLnk=document.createElement('a');oLnk.setAttribute('href',url);oLnk.setAttribute('style','display:inline;margin:0;padding:0;font:14px Times New Roman;text-decoration:underline;text-transform:none;');oLnk.appendChild(document.createTextNode(txt));return oLnk};var showLink=function(oEle,src,flv){var cName='ujs_downlink';var p=oEle.previousSibling;if(p&&p.className==cName){oEle.parentNode.removeChild(p);return};if(src){var oDiv=document.createElement('div');oDiv.setAttribute('style','display:block;position:static;float:none;margin:0;padding:0;width:auto;height:auto;font:14px Times New Roman;color:#555;z-index:999;');oDiv.className=cName;oDiv.appendChild(createLink(src,'Download'));var v=getVideo(flv,src);if(v){oDiv.appendChild(document.createTextNode(' ('));oDiv.appendChild(createLink(v,'Video'));oDiv.appendChild(document.createTextNode(')'))};oEle.parentNode.insertBefore(oDiv,oEle)}};var getParam=function(e,n){var v='',r=new RegExp('^('+n+')$','i');var param=e.getElementsByTagName('param');for(var i=0,p;p=param[i];i++){if(r.test(p.getAttribute('name'))){v=p.getAttribute('value');break}};return v};var searchEmbed=function(w){if(!w)return;var obj=w.document.getElementsByTagName('object');for(var i=0,oi;oi=obj[i];i++){if(oi.parentNode)showLink(oi,oi.getAttribute('data')||oi.getAttribute('src')||getParam(oi,'movie|data|src|code|filename|url')||(oi.getElementsByTagName('embed').length&&oi.getElementsByTagName('embed')[0].getAttribute('src')),getParam(oi,'flashvars'))};var em=w.document.getElementsByTagName('embed');for(var i=0,ei;ei=em[i];i++){if(ei.parentNode&&ei.parentNode.nodeName.toLowerCase()!='object')showLink(ei,ei.getAttribute('src'),ei.getAttribute('flashvars'))};for(var j=0,f;f=w.frames[j];j++){try{arguments.callee(f)}catch(e){}}};searchEmbed(window)}],
//["Набрать сообщение в форме", function(){window.open('http://southron4965.ucoz.ru/files/Opera_LE/html/forma.html')}],
//["separator"],
["Искать страницу в кэше Google",function(){window.open('http://www.google.com/search?q=cache:'+location.href)}],
["Искать страницу на Archive.org",function(){window.open('http://web.archive.org/web/*/'+location.href)}],
["separator"],
["Посмотреть отзывы о сайте в WOT",function(){window.open('https://www.mywot.com/ru/scorecard/'+location.hostname)}],
["Информация о сервере (netcraft)",function(){window.open('http://toolbar.netcraft.com/site_report?url='+location.hostname)}],
["Проверить доступность сайта через isitdownrightnow.com",function(){window.open('http://www.isitdownrightnow.com/downorjustme.php?url='+location.hostname,'DownForMe_'+location.hostname,'width=600,height=400,left=100,top=100,scrollbars=yes,location=no')}],
["Узнать, кому принадлежит домен через Domaintools",function(){window.open('http://whois.domaintools.com/'+location.hostname)}],
["Узнать, кому принадлежит домен через Reg.ru",function(){window.open('https://www.reg.ru/whois/?dname='+location.hostname)}],
["separator"],
["Проверить с помощью Dr.Web Online",function(){window.open('http://online.drweb.com/result?url='+escape(location.href),'DrWeb_'+location.href,'width=640,height=400,left=200,top=100,scrollbars=yes,location=no')}],
["Проверить с помощью AntiMalware Online",function(){window.open('http://antivirus-alarm.ru/proverka/?url='+escape(location.href),'AntiMalware_'+location.href,'width=640,height=400,left=200,top=100,scrollbars=yes,location=no')}],
["separator"],
["Переключить стиль на странице", "getMarkupDocumentViewer().authorStyleDisabled ? gPageStyleMenu.switchStyleSheet('') : gPageStyleMenu.disableStyle()" ],
["Night - ночной стиль", ()=>{ var night=function(w){(function(d){var css='html{background:#333 !important}html *{background:none !important;color:#bbb !important;border-color:#333 !important;border-width:0 !important}html a,html a *{color:#5c8599 !important;text-decoration:underline !important}html a:visited,html a:visited *,html a:active,html a:active *{color:#525f66 !important}html a:hover,html a:hover *{color:#cef !important;background:#023 !important}html input,html select,html button,html textarea{background:#4d4c40 !important;border:1px solid #5c5a46 !important;border-top-color:#474531 !important;border-bottom-color:#7a7967 !important}html input[type=button],html input[type=submit],html input[type=reset],html input[type=image],html button{border-top-color:#7a7967 !important;border-bottom-color:#474531 !important}html input:focus,html select:focus,html option:focus,html button:focus,html textarea:focus{background:#5c5b3e !important;color:#fff !important;border-color:#474100 #665d00 #7a7849 !important;outline:2px solid #041d29 !important}html input[type=button]:focus,html input[type=submit]:focus,html input[type=reset]:focus,html input[type=image]:focus,html button:focus{border-color:#7a7849 #665d00 #474100 !important}html input[type=radio]{background:none !important;border-color:#333 !important;border-width:0 !important}html img[src],html input[type=image]{opacity:.5}html img[src]:hover,html input[type=image]:hover{opacity:1}html,html body{scrollbar-base-color:#4d4c40 !important;scrollbar-face-color:#5c5b3e !important;scrollbar-shadow-color:#5c5b3e !important;scrollbar-darkshadow-color:#474531 !important;scrollbar-track-color:#4d4c40 !important;scrollbar-arrow-color:#000 !important;scrollbar-3dlight-color:#7a7967 !important}';var s=d.getElementsByTagName('style');for(var i=0,si;si=s[i];i++){if(si.innerHTML==css){si.parentNode.removeChild(si);return}};var heads=d.getElementsByTagName('head');if(heads.length){var node=d.createElement('style');node.type='text/css';node.appendChild(d.createTextNode(css));heads[0].appendChild(node)}})(w.document);for(var i=0,f;f=w.frames[i];i++){try{arguments.callee(f)}catch(e){}}};night(window) }],
["Сохранить как PDF",function(){window.open('http://www.web2pdfconvert.com/engine?cURL='+escape(location.href)+'&title='+escape(document.title)+'&ref=bookmarklet')}],];
var menuPopup = menu.appendChild( document.createElement("menupopup") );
array.forEach(m=> {if ( m[0] == "separator" ) { menuPopup.appendChild(document.createElement("menuseparator")); return };
var mItem = menuPopup.appendChild(document.createElement("menuitem"));
mItem.setAttribute("label", m[0]);

typeof(m[1]) == "string"
? mItem.addEventListener("command", ()=> eval(m[1]))
: mItem.addEventListener("command", ()=> content.location.href = "javascript:(" + encodeURI(m[1]) + ")()");});
})(document.getElementById("contentAreaContextMenu"), "context-inspect");


Тут оказываеться есть "исходный код страницы" только как снапшот.
-А шахматы не пашут, я их недавно перенес с другого кода. "Исправишь?"

-----------------------------------------------------------------------------------------------------------------------------
Вопрос, а если надо поменять столбик в меню, к примеру чтобы он стоял отдельно "сепаратор". Где надо менять в коде?

Отредактировано Gladius333 (25-07-2017 21:04:28)

Отсутствует

 

Board footer

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