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

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№327620-11-2011 16:47:13

vitalii201
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 679
UA: Firefox 8.0

Re: Custom Buttons

Крошка Ру, спасибо за интересный вопрос. okkamas_knife, большое спасибо за ликбез. :)
Сделал себе кнопку для выхода из просмотра плейлиста на YouTube на страницу ролика. Насчёт vimeo: я задал (17,26).

Отсутствует

 

№327720-11-2011 16:53:17

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Nightly 11.0

Re: Custom Buttons

okkamas_knife пишет

а плеер то где? плеер то встраивется в код странички сайта и вот чтоб его выдрать оттуда н нужен индивидуальный подход

okkamas_knife
этот код сам плеер предлагает , на любой странице он один и тот же будет - вот самый  простой  html документ с этим кодом :)

<html><head><iframe src="http://vk.com/video_ext.php?oid=-31279213&id=161076306&hash=c153283e6faaea8e" width="607" height="360" frameborder="0"></iframe></body></html>

Добавлено 20-11-2011 17:01:27
vitalii201 Пожалуйста :angel: ... у такого чайника как я много возможно интересных вопросов, только задаю их редко чтобы не мучить своей тупостью :dumb: знающих людей :blush:

okkamas_knife
  с vimeo  похоже ошибся - там в двух местах следует вставлять по-видимому из такого http://vimeo.com/28253417 сделать так http://player.vimeo.com/video/28253417

Отредактировано Крошка Ру (20-11-2011 17:01:27)

Отсутствует

 

№327820-11-2011 17:29:48

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Nightly 11.0

Re: Custom Buttons

ну так вот этот ифраме с кодом может быть где угодно на страничке.
плюс у него отсутствует ID что осложняет его поиск.
тут либо тупо подгружать страничку заново и парсить её ища  указанный урл
либо для конкретного сайта разбирать DOM дерево странички чтоб вытащить нужный элемент.

okkamas_knife по этому куску наверное можно искать > http://vk.com/video_ext.php?oid=

Добавлено 20-11-2011 17:57:31

var a="http://player.vimeo.com/video/"; // готовим а
var b=window._content.document.location.href; //получаем текущий адрес
var b=b.slice(17,20);//отрезаем от http://vimeo.com/28253417 начало (17 сиволов до цифр,20 то что оставить с запасом сделал)
var truba=a+b;

обезьяну проще научить :cry:

Отредактировано Крошка Ру (20-11-2011 17:57:31)

Отсутствует

 

№327923-11-2011 16:36:21

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 8.0

Re: Custom Buttons

okkamas_knife пишет

не работает кнопка relative tabs

Вот так, вроде бы:

Выделить код

Код:

var handler = function (event)
{
    var tab = gBrowser.selectedTab;
    var tabpos = "_tPos" in tab
        ? tab._tPos
        : Array.indexOf(gBrowser.tabs || gBrowser.tabContainer.childNodes, tab);
    gBrowser. moveTabTo (event. target, tabpos + 1);
};

(заменить соответствующую функцию)


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№328001-12-2011 22:53:25

vitalii201
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 679
UA: Firefox 8.0

Re: Custom Buttons

Если не трудно, подскажите: Как сделать кнопку, что-бы открывать текущую страницу в новой вкладке с адресом
http://доменное имя.visualizetraffic.com/ ?
(не разобрался, пока, как получать доменное имя и добавлять в середину URL)

Отредактировано vitalii201 (01-12-2011 22:59:05)

Отсутствует

 

№328101-12-2011 23:05:35

mserv
Участник
 
Группа: Members
Зарегистрирован: 15-11-2008
Сообщений: 1025
UA: Nightly 11.0

Re: Custom Buttons

del

Отредактировано mserv (01-12-2011 23:22:13)

Отсутствует

 

№328202-12-2011 00:03:02

vitalii201
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 679
UA: Firefox 8.0

Re: Custom Buttons

не трололо, не бла-бла-бла и даже не .ololo.com(.visualizetraffic.com).
адрес здесь тоже так получать - var url = window._content.document.location.href; надо было?
замена дополнению не получилась. остаётся.

Отсутствует

 

№328302-12-2011 00:32:01

vitalii201
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 679
UA: Firefox 8.0

Re: Custom Buttons

Адрес создаётся-то правильно (спасибо), но видно сайт работает по другому принципу (или я что-то непонимаю или одно из трёх)

Отсутствует

 

№328402-12-2011 00:47:27

Dust
Участник
 
Группа: Members
Зарегистрирован: 28-11-2011
Сообщений: 4
UA: Firefox 3.6

Re: Custom Buttons

Хотел поставить вот эту кнопку, но что-то не работает. (
Всё вроде бы сделал по инструкции.

скрытый текст
/*CODE*/

var prefstate="custombuttons.prefstate.1";

var mypref01="browser.chrome.toolbar_tips";
var mypref01value1=1;
var mypref01value2=0;

var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
this.PS = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);

var state=1-this.PS.getBoolPref(prefstate);

if (state==false){

var mypref01value=mypref01value2;

state=false;
} else {

var mypref01value=mypref01value1;

state=true;
};

this.PS.setBoolPref(mypref01,mypref01value);

this.PS.setBoolPref(prefstate,state);
this.checked=state;


/*Initialization Code*/

var prefstate="custombuttons.prefstate.1";

var mypref01="browser.chrome.toolbar_tips";
var mypref01value1=1;
var mypref01value2=0;

var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
this.PS = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);

var state=this.PS.getBoolPref(prefstate);

if (state==false){

var mypref01value=mypref01value2;

state=false;
} else {

var mypref01value=mypref01value1;

state=true;
};

this.PS.setBoolPref(mypref01,mypref01value);

this.PS.setBoolPref(prefstate,state);
this.checked=state;

Linux Mint 11, Firefox 3.6.24, Custom Buttons 0.0.5.5.
Пробовал создавать новый профиль.

Отсутствует

 

№328502-12-2011 01:01:20

Dust
Участник
 
Группа: Members
Зарегистрирован: 28-11-2011
Сообщений: 4
UA: Firefox 3.6

Re: Custom Buttons

okkamas_knife, большое спасибо! Теперь всё работает.

Отсутствует

 

№328603-12-2011 13:34:39

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

Re: Custom Buttons

okkamas_knife
Save Link To Folder(Contextmenu)(Firefox)
У меня не работает, в d:\\TMP\\ не сохраняет, не показывает alertSlide.

Отсутствует

 

№328703-12-2011 13:59:39

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

Re: Custom Buttons

okkamas_knife пишет

bunda1
А ставил как?
ща только что поставил  из Код кнопки. всё работает.
проверь код кнопки не покоцался при добавлении? редирект ремовер иногда грешит этим.
ну и папка та должна существовать.
кстати а система какая у тебя? на хр всё ок

ставил из Инициализация:
теперь поставил  из Код кнопки и всё работает.

Добавлено 03-12-2011 14:06:13
Link  Master (Context menu)(updated 03/12/2011 13:25 теперь с иконками!)
обрати внимание, в меню ссылки у
Искать текст ссылки в Nigmа
Искать текст ссылки в Yandex
одинаковые иконки!

Отредактировано bunda1 (03-12-2011 14:06:13)

Отсутствует

 

№328803-12-2011 14:17:13

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

Re: Custom Buttons

Link  Master (Context menu)(updated 03/12/2011 13:25 теперь с иконками!)
Извини что навязываюсь, но было бы не плохо добавить пункт

Копировать ссылку и изменить текст ссылки(BBCode)
       

Выделить код

Код:

//запомнить ссылку
        storage = globalStorage[document.domain];
        this.str = gContextMenu.getLinkURL();
        storage['link']= str;
        //Закрыть контекстное меню
        document.getElementById("contentAreaContextMenu").hidePopup();
        //вести текст для ссылки(BBCode)
        var Title = storage['link'];
        var Desc = "Введите текст для ссылки(BBCode)";
        var HTTP = "";
        var URL = custombuttons.promptBox(Title, Desc, HTTP);
        if (URL[0] == false) return;
        else
        var text = [URL[1]];
        //Копировать ссылку (BBCode)
        this.str = ("[url=" + storage['link'] + "]"+ text + "[/url]");
        var clipboard = Components.classes["@mozilla.org/widget/clipboardhelper;1"].  getService(Components.interfaces.nsIClipboardHelper);
        clipboard.copyString(str);
        // удалить значение 'link'
        delete storage['link']

Отредактировано bunda1 (03-12-2011 14:18:05)

Отсутствует

 

№328903-12-2011 14:35:47

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

Re: Custom Buttons

okkamas_knife пишет

bunda1
а смысл? какая разница когда менять текст до вставки или после?
а лишний пункт(и с окошком ввода к томуже) -лишняя путаница
если тебе надо то добавь себе это несложно.
ps проверь как работает кнопка сохранить ярлык при создании из инициализации.
у меня вроде ок всё.
баг с иконкой поправил.

а смысл? - удобней и быстрей
проверь как работает кнопка сохранить ярлык при создании из инициализации - проверил работает но если сохранять ярлык от сюда  Сегодня 12:35:47 почему то не работает.

Отредактировано bunda1 (03-12-2011 14:41:04)

Отсутствует

 

№329003-12-2011 17:18:40

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

Re: Custom Buttons

okkamas_knife пишет

bunda1
теперь всё ок и имена проверяет-заменяет обрезает.

спасибо

okkamas_knife пишет

bunda1
а насчет того что быстрей я например не вижу разницы где вводить имя линка в окошечке или после того как вставишь. с окошечком имхо даже неудобнее потому что не переключишься на другую вкладку пока не введёшь.

Что удобней - где то копируешь текст для ссылки + средней кнопкой скопировал текст в окошко ввода или где то копируешь текст для ссылки + выделяеш ненужный текст в ссылке и меняеш на текст из буфера.

P.S.надо будет сделать без окошка - где то копируешь текст для ссылки + Копировать BB код.

сделал;

Выделить код

Код:

//запомнить ссылку
        storage = globalStorage[document.domain];
        this.str = gContextMenu.getLinkURL();
        storage['link']= str;
        //Копировать ссылку как(BBCode)
        var clipboard = Components.classes["@mozilla.org/widget/clipboardhelper;1"].  getService(Components.interfaces.nsIClipboardHelper);
        this.str = ("[url=" + storage['link'] + "]"+ readFromClipboard() + "[/url]");
        clipboard.copyString(str);
        //сообщение
        custombuttons.alertSlide("Скопировал ссылку как(BBCode)", readFromClipboard());
        // удалить значение 'link'
        delete storage['link']

Отредактировано bunda1 (03-12-2011 17:55:12)

Отсутствует

 

№329103-12-2011 18:40:18

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

Re: Custom Buttons

okkamas_knife
да много интересных идей но я не знаю как их реализововатъ, разве только сделать

плюс с хранением и введением путей до прог тоже замутить интерфейсик

.

Отсутствует

 

№329203-12-2011 19:45:51

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

Re: Custom Buttons

по клику генерим и открываем хтмльник в нем реализуем все кнопочки выбора-галочки
и при нажатии применить кнопка считывает все настройки и в конфиг загоняет

я бы сделал меню по ПКМ вот как у меня тут 08-04-2011 22:51:18

Выделить код

Код:

{
          label:"Копировать текст ссылки",
          command:command1,
          image:txticon
          active:n[1]
},

далее при обработке смотрим если active=0 то пропускаем пункт
(типа как я с сепараторами сделал

)
не понял но мне кажетса так работать не будет патому я уже что то такое пыталса зделать, вот так

Выделить код

Код:

{if (custombuttonsUtils. getPrefs ("FindBar.Highlight", true))
{
         label:"Копировать текст ссылки",
          command:command1,

        }},

показывает ошибку

Отредактировано bunda1 (03-12-2011 20:46:01)

Отсутствует

 

№329303-12-2011 20:15:03

mserv
Участник
 
Группа: Members
Зарегистрирован: 15-11-2008
Сообщений: 1025
UA: Nightly 11.0

Re: Custom Buttons

Вот мелочь, а приятно.:) Хорошо бы, если и другие авторы кнопок предусматривали открытие поста с кнопкой.

Отсутствует

 

№329403-12-2011 20:49:22

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

Re: Custom Buttons

okkamas_knife
лишнии пункты в твоем меню можно удалять/показывать вот так, не перезапуская ФФ

Выделить код

Код:

var CopLink = document.getElementById("context-Demo-Menu-Копировать текст ссылки");
var DomInsp = document.getElementById("context-Demo-Menu-Открыть в DOM Inspector");
if (custombuttonsUtils. getPrefs ("dom.disable_open_during_load", true))
{
CopLink.setAttribute("style", "visibility: collapse;");
DomInsp.setAttribute("style", "visibility: collapse;");
}
else
{
CopLink.setAttribute("style", "visibility:visible");
DomInsp.setAttribute("style", "visibility:visible");
};

Отредактировано bunda1 (03-12-2011 21:18:42)

Отсутствует

 

№329503-12-2011 22:52:44

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

Re: Custom Buttons

okkamas_knife
вот сделал образец для твоей кнопки Link  Master, удалять/показывать пункты в твоем меню, не перезапуская ФФ.
ПКМ на кнопке
thumb37575000.jpg 

Выделить код

Код:

//проверить наличие строк в about:config и создать если не существует(Add preferences)........................................
var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
if (custombuttons.getPrefs("ContexLinkMaster.version") !== '1')
{   
    prefs.setCharPref("ContexLinkMaster.version", "1");
    prefs.setBoolPref("ContextFDM", true);
    prefs.setBoolPref("ContextOpera", true);
    
};
//удалить настройки кнопки из about:config если удаляетса кнопка(delete preferences, if delete button)
this.onDestroy = function(reason) {
   if (reason == "delete"){
    // удалить настройки(clear preferences)
    custombuttons.clearPrefs("ContexLinkMaster.version");
    custombuttons.clearPrefs("ContextFDM");
    custombuttons.clearPrefs("ContextOpera");
}
  };



//настройка меню(CB menu settings)...................................................
//Объявляем 'storage' ..
storage = globalStorage[document.domain];

//показывать Free Download Manager .....
this.FDM = function(mi, id) {
// переключаем настройки в about:config(toggle preference)
var s = "ContextFDM";
custombuttons.setPrefs(s, !custombuttons.getPrefs(s));
//изменить нужный пункт меню(toggle menuitems)
toggleLabel(mi, id)
//Запускаем функцию 'ToggleContextMenu' 
ToggleContextMenu(event);
}

//показывать Opera.....
this.Opera = function(mi, id) {
// переключаем настройки в about:config(toggle preference)
var s = "ContextOpera";
custombuttons.setPrefs(s, !custombuttons.getPrefs(s));
//изменить нужный пункт меню(toggle menuitems)
toggleLabel(mi, id)
//Запускаем функцию 'ToggleContextMenu' 
ToggleContextMenu(event);
};


//изменить меню(toggle menu)....
function toggleLabel(mi, id) {
//Free Download Manager
if(!id || id == "Fmd") {
    var label = custombuttonsUtils. getPrefs ("ContextFDM", true)
        ? "показываем FMD"
        : "не показываем FMD";
    storage['FMDlabel'] = label;
    if(mi)
        mi.label = label;
}
//Opera
if(!id || id == "Opera") {
    var label = custombuttonsUtils. getPrefs ("ContextOpera", true)
        ? "показываем Opera"
        : "не показываем Opera";
    storage['Operalabel'] = label;
    if(mi)
        mi.label = label;
}
};
toggleLabel(event);


// Our menu items....
this.ss = [
  { label: storage['FMDlabel'], cmd: 'document.popupNode.FDM(this, "Fmd")', sItemId: ''},
  //{ label: "separator", sItemId: ''},
  { label: storage['Operalabel'], cmd: 'document.popupNode.Opera(this, "Opera")', sItemId: ''}];

 
// Our Initialization function for creating the context menu, setting up menuitems and telling
var Cb = custombuttons;
this.mObj = Cb.getCbContextObj(this);
this.init = function(x) {
  x.mObj.setSub();
  var nItem = {}, mItem = {};
  document.getElementById(CB2const.sCBCtxtMenu).setAttribute("oncommand", "event.stopPropagation()");
  for(var i in x.ss) {
    nItem = new x.mObj.getItem();
    nItem.id = 'Note';
    nItem.label = x.ss[i].label;
    if (nItem.label == "separator") {
        nItem = document.createElement("menuseparator");
      }
    nItem.value = String(i);
    mItem = x.mObj.insertBefore(nItem , x.mObj.oMenu.lastChild);
    this.ss[i].sItemId = mItem.id;
    mItem.setAttribute('oncommand',x.ss[i].cmd)
  }
  x.mObj.getItem();
  nItem = x.mObj.getItem();
  nItem.id = 'Note';
  this.separator = x.mObj.insertBefore( nItem , x.mObj.oMenu.lastChild);
}

this.init(this);

  
  
//изменяем контекстное меню ...................  
function ToggleContextMenu(event){  
var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
//Объявляем 'FDM','Opera' .
var ContextFDM= document.getElementById("context-Demo-Menu-Закачать ссылку с помошью Free Download Manager");
var ContextOpera = document.getElementById("context-Demo-Menu-Открыть ссылку в Opera");

//FDM...
if (!custombuttonsUtils. getPrefs ("ContextFDM", false))
{
ContextFDM.setAttribute("style", "visibility: collapse;");
}
else
{
ContextFDM.setAttribute("style", "visibility:visible");
};

//Opera 
if (!custombuttonsUtils. getPrefs ("ContextOpera", false))
{
ContextOpera.setAttribute("style", "visibility: collapse;");
}
else
{
ContextOpera.setAttribute("style", "visibility:visible");
}     
 };
ToggleContextMenu(event);

Отредактировано bunda1 (03-12-2011 23:32:10)

Отсутствует

 

№329604-12-2011 16:44:58

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

Re: Custom Buttons

okkamas_knife

вопрос есть. а ты не знаешь можно ли оперативно добавлять в кнопку код?

не знаю как, но тут где то была кнопка которая делает новые кнопки из букмрклетов, надо попробовать переделать.

надо будет продумать как это должно быть внешне а потом думать как организовать так чтоб добавление модулей добавляющих ту или иную функцию было простым для юзера.

как для Toolbar Buttons http://codefisher.org/toolbar_button/to … tton_maker

а что если сделать кнопарик меняющий кучу настроек в конфиге одним махом?

если хочешь я сделаю только какие настройки и как должно ето выглядеть. Но это можно сделать без кнопки через FF меню или даже через about:config изменил одну настройку остальные 20 настройки сами изменились.

кнопка -меню расписываем в пунктах какой что делает
при выборе пункта открываем окошко ввода-изменения значения с подсказками

подсказки не для меня, я с трудом пишу на русском.

//--LM01S--
//----begin module---
код
//---- end module---
//--LM01E--

к сожалению я в таких кодах не разбираюсь.

кстати ты не знаешь как можно создавать панель с определённым именем и помещать на неё кнопки?
(из кода разумеется)

не знаю и даже не представляю

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

Popap-Toolbar!


я переделал образец кода создающий меню для твоей кнопки Link  Master, теперь меньше кода и код проще.

Выделить код

Код:

//проверить наличие строк в about:config и создать если не существует(Add preferences)........................................
var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
if (custombuttons.getPrefs("ContexLinkMaster.version") !== '1')
{   
    prefs.setCharPref("ContexLinkMaster.version", "1");
    prefs.setBoolPref("ContextFDM", true);
    prefs.setBoolPref("ContextOpera", true);
    
};
//удалить настройки кнопки из about:config если удаляетса кнопка(delete preferences, if delete button)
this.onDestroy = function(reason) {
   if (reason == "delete"){
    // удалить настройки(clear preferences)
    custombuttons.clearPrefs("ContexLinkMaster.version");
    custombuttons.clearPrefs("ContextFDM");
    custombuttons.clearPrefs("ContextOpera");
}
  };



//настройка меню(CB menu settings)...................................................
//Объявляем 'storage' ..
storage = globalStorage[document.domain];


//изменить меню кнопки(toggle button menu)........
//изменяем контекстное меню на странице
this.CBlabel = function (mi, id){

//Free Download Manager........
if(!id || id == "Fmd") {
//Объявляем s для переключение настроек в about:config
var s = "ContextFDM";
//Объявляем 'ContextFDM'
var ContextFDM= document.getElementById("context-Demo-Menu-Закачать ссылку с помошью Free Download Manager");
if (!custombuttonsUtils. getPrefs ("ContextFDM", false))
{
ContextFDM.setAttribute("style", "visibility: collapse;");
var label = "   FMD";
}
else
{
ContextFDM.setAttribute("style", "visibility:visible");
var label = "● FMD"
};
storage['FMDlabel'] = label;
if(mi)
   mi.label = label;
};

//Opera........................
if(!id || id == "Opera") {
//Объявляем s для переключение настроек в about:config
var s = "ContextOpera";
//Объявляем 'ContextOpera'
var ContextOpera = document.getElementById("context-Demo-Menu-Открыть ссылку в Opera");
if (!custombuttonsUtils. getPrefs ("ContextOpera", false))
{
ContextOpera.setAttribute("style", "visibility: collapse;");
var label = "   Opera";
}
else
{
ContextOpera.setAttribute("style", "visibility:visible");
var label = "● Opera";
};     
storage['Operalabel'] = label;
if(mi)
   mi.label = label;
 }
// переключаем настройки в about:config(toggle preference)
custombuttons.setPrefs(s, !custombuttons.getPrefs(s));
   };
this.CBlabel();




// Our menu items....
this.ss = [
  { label: storage['FMDlabel'], cmd: 'document.popupNode.CBlabel(this, "Fmd")', sItemId: ''},
  //{ label: "separator", sItemId: ''},
  { label: storage['Operalabel'], cmd: 'document.popupNode.CBlabel(this, "Opera")', sItemId: ''}];

 
// Our Initialization function for creating the context menu, setting up menuitems and telling
var Cb = custombuttons;
this.mObj = Cb.getCbContextObj(this);
this.init = function(x) {
  x.mObj.setSub();
  var nItem = {}, mItem = {};
  document.getElementById(CB2const.sCBCtxtMenu).setAttribute("oncommand", "event.stopPropagation()");
  for(var i in x.ss) {
    nItem = new x.mObj.getItem();
    nItem.id = 'Note';
    nItem.label = x.ss[i].label;
    if (nItem.label == "separator") {
        nItem = document.createElement("menuseparator");
      }
    nItem.value = String(i);
    mItem = x.mObj.insertBefore(nItem , x.mObj.oMenu.lastChild);
    this.ss[i].sItemId = mItem.id;
    mItem.setAttribute('oncommand',x.ss[i].cmd)
    mItem.setAttribute("style", "margin-left: -14px;");
  }
  x.mObj.getItem();
  nItem = x.mObj.getItem();
  nItem.id = 'Note';
  this.separator = x.mObj.insertBefore( nItem , x.mObj.oMenu.lastChild);
  //....
  var CCsubCall = document.getElementById("custombuttons-contextpopup-subCall");
  CCsubCall.setAttribute("style", "margin-left: -4px;");

}

this.init(this);

Отредактировано bunda1 (07-12-2011 20:42:29)

Отсутствует

 

№329705-12-2011 13:09:43

mserv
Участник
 
Группа: Members
Зарегистрирован: 15-11-2008
Сообщений: 1025
UA: Nightly 11.0

Re: Custom Buttons

Скажите, а существует возможность добавить в кнопку копирование всех ссылок в выделенном фрагменте. Так делает расширение Multi Links

Отсутствует

 

№329805-12-2011 19:54:16

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1008
UA: Firefox 8.0

Re: Custom Buttons

okkamas_knife
когда-то давно была твоя кнопка "Organize Bookmarks" - открывает окно управления закладками. Так вот вопрос:
она содержит всего одну строку для раздела код - PlacesCommandHook.showPlacesOrganizer('BookmarksMenu'); - так все прекрасно работает.
но если ее переместить в инициализация, например вот так:

Выделить код

Код:

this.midclick = function() {PlacesCommandHook.showPlacesOrganizer('BookmarksMenu');}

не работает. Что не так?

Отсутствует

 

№329905-12-2011 20:29:47

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Nightly 11.0

Re: Custom Buttons

а можно Extension List исправить для [nightly] , а то у меня ошибку выдаёт :rolleyes: :angel:

6f8038cc15b6c08ed115ce95e3da814d.png

Добавлено 05-12-2011 20:37:44
okkamas_knife Кнопка Открыть в нижней панели - а без выпадающего списка ? Например только "Открыть Загрузки" , Открыть папку..." :)

Отредактировано Крошка Ру (05-12-2011 20:38:21)

Отсутствует

 

№330005-12-2011 20:41:10

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 8.0
Веб-сайт

Re: Custom Buttons

okkamas_knife пишет

Anton
а как насчет того чтоб реализовать в СВ следующую функцию
в окошке редактирования кнопки кнопочка-меню вставляющая в указанную курсором позицию код
а рядом кнопка вызывающая редактор для неё появляется список пунктов меню с 3мя кнопками
редактировать удалить добавить новый пункт после этого(или одну кнопку добавить на все)
по кнопке редактирование открывается окно в котором две колонки название пункта и собственно вставляемый код.
то есть использование данной фичи будет такое
набил необходимые часто используемые куски и в процессе кодинга просто выбрал пунт вставил подправил если надо.

плюс если всю инфу хранить в отдельном файлике то можно сделать чтото типа конструктора для новичков.
сделать набор подобных кусочков и импортировать его.
тогда написание кнопок для новичка упростится - открыл окошко нажал кнопку вставил нужный пункт меню подправил и ок.
в подготовке подобного сборника даже готов поучаствовать посильно.

Спасибо за предложение, буду иметь в виду.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

Board footer

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