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

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

№170119-04-2017 20:04:44

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

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

_zt пишет

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

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

Отсутствует

 

№170219-04-2017 21:02:37

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

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

difabor пишет

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

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

Отсутствует

 

№170319-04-2017 22:07:02

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

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

bunda1 пишет
difabor пишет

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

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

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

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


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

Отсутствует

 

№170420-04-2017 14:09:43

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

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

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

Отсутствует

 

№170524-04-2017 16:37:46

thrower
Участник
 
Группа: Members
Зарегистрирован: 28-11-2013
Сообщений: 207
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
Сообщений: 240
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
Сообщений: 389
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
Сообщений: 557
UA: Firefox 52.0

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

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

Отсутствует

 

№171029-04-2017 20:18:58

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

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

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

Отсутствует

 

№171303-05-2017 09:34:28

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

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

Лия пишет

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

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

Отсутствует

 

№171403-05-2017 21:24:09

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

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

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

Отсутствует

 

№171503-05-2017 21:50:50

villa7
Участник
 
Группа: Members
Зарегистрирован: 21-07-2012
Сообщений: 2235
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
Сообщений: 1644
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
Сообщений: 1878
UA: Firefox 53.0

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

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

Отсутствует

 

№171804-05-2017 22:00:43

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

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

_zt пишет

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

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

Отсутствует

 

№171917-05-2017 11:42:08

momo2000
Участник
 
Группа: Members
Зарегистрирован: 03-09-2015
Сообщений: 237
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
Сообщений: 4811
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
Сообщений: 237
UA: Firefox 53.0

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

bunda1
:beer:

Отсутствует

 

№172216-07-2017 16:59:01

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

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

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

Отсутствует

 

№172324-07-2017 12:40:08

Gladius333
Забанен
 
Группа: Members
Зарегистрирован: 11-02-2017
Сообщений: 92
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
Сообщений: 4811
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
Сообщений: 92
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–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]