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

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№905111-11-2015 22:32:35

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

Re: Custom Buttons

подскажите, как поместить код css в код CB-кнопки?
есть такой стиль:

Выделить код

Код:

/*AGENT_SHEET*/
#phrase-highlighter-toolbar-button .toolbarbutton-icon { background-color: pink !important; }
#phrase-highlighter-toolbar-button > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { background-color: pink !important; }

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

Отсутствует

 

№905211-11-2015 23:21:13

fokanik
Участник
 
Группа: Members
Зарегистрирован: 05-02-2014
Сообщений: 268
UA: Seamonkey 2.38

Re: Custom Buttons

19ebdd2ec456.jpg

Всем здравствуйте, а нет случайно кнопочки - показать рисунки в письме помеченном, как спам (может можно как-то через стиль включить эту опцию, или через конфиг - [thunderbird] 38.3.0)?

Отсутствует

 

№905311-11-2015 23:29:41

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

Re: Custom Buttons

Inko7
В инициализацию, а css в справку

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

Выделить код

Код:

// ЛКМ переключить настройки кнопки и стиль ..........
this._handleClick = function() setStyleForPages(void(run.value = !run.value));


// Создать настройки кнопки в about:config если они не существует ..........
var s = "CB" + _id.slice(20) + ".setStyleForPage";
cbu.isPref(s, false);
var previousUri = "CB" + _id.slice(20) + ".previousUri";


// Иконка для включеной кнопки  ..........
var icon = self.ownerDocument.getAnonymousElementByAttribute(self, "class", "toolbarbutton-icon");
var styleImage = "вставить иконку в base64";


// Получить настройки кнопки и css код из вкладки Справка ..........
var css = self.Help;
var run = Application.prefs.get(s);


// Переключить css стиль для страницы ..........
function setStyleForPages(reason) {
   if ( reason == "destructor" ) return; 

   var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService); 
   var uri = makeURI("data:text/css," + encodeURIComponent(css)); 
   
   try { sss.unregisterSheet(Services[_id + "previousUri"] || uri, 0) } catch(e) {};
   Services[_id + "previousUri"] = uri;
   
   run.value && !reason && sss.loadAndRegisterSheet( uri, 0 );
   icon.src = run.value ? styleImage : self.image;
};
addDestructor(setStyleForPages);
run.value && setStyleForPages();


и вставить свою иконку
// Иконка для включеной кнопки  ..........
var icon = self.ownerDocument.getAnonymousElementByAttribute(self, "class", "toolbarbutton-icon");
var styleImage = "вставить иконку в base64";

Отредактировано villa7 (11-11-2015 23:31:28)


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

Отсутствует

 

№905414-11-2015 21:32:35

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

Re: Custom Buttons

villa7
а можно разместить код css не в справке, а в самом коде?
не спорю, так намного удобнее, но справка у меня занята под другое...
и иконки кнопки мне менять не нужно, нужен просто код включения/отключения стиля, как можно проще...
такое себе триггер

Отредактировано Inko7 (14-11-2015 21:45:41)

Отсутствует

 

№905514-11-2015 22:01:41

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

Re: Custom Buttons

Inko7
Я не спец по кнопкам, может знающие ребята что нибудь и подскажут.


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

Отсутствует

 

№905614-11-2015 22:19:02

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

Re: Custom Buttons

villa7
ок, спасибо
по подобию старых кнопок что-то у самого получилось такое:

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

Выделить код

Код:

this.onclick = function(e) {
  if ( e.button == 0 ) { sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); }
  
    if ( e.button == 1 ) { sss.unregisterSheet( uri, sss.AGENT_SHEET ); }
};


var css = "/*AGENT_SHEET*/\n"
css = "#phrase-highlighter-toolbar-button .toolbarbutton-icon { background-color: pink !important; }\n";
css = css + "#phrase-highlighter-toolbar-button > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon { background-color: pink !important; }\n";

var uri = makeURI("data:text/css," + encodeURIComponent(css));
var sss = Cc["@mozilla.org/content/style-sheet-service;1"]. getService(Ci.nsIStyleSheetService);

        addDestructor(function() { sss.unregisterSheet( uri, sss.AGENT_SHEET ) });

Отсутствует

 

№905717-11-2015 06:26:54

rey
Участник
 
Группа: Members
Зарегистрирован: 25-05-2015
Сообщений: 11
UA: Firefox 40.0

Re: Custom Buttons

скажите почему кнопка может не срабатывать на первое-второе нажатие после включения браузера?

Отсутствует

 

№905817-11-2015 09:48:41

jars
Забанен
 
Группа: Members
Зарегистрирован: 28-07-2015
Сообщений: 235
UA: Palemoon 25.0

Re: Custom Buttons

rey
не тудой положил. Если в Код, то так и будет. Один холостой клик(видно переменные заполняются), а дальше сработает. Клади в Init шобы сразу.

Отсутствует

 

№905917-11-2015 16:29:01

rey
Участник
 
Группа: Members
Зарегистрирован: 25-05-2015
Сообщений: 11
UA: Firefox 40.0

Re: Custom Buttons

jars
видимо чтото в самой кнопке, потому что только в Init не решает. проблема кажется именно в части для правового клика -должно открывать из буфера обмена в новой вкладке. сейчас, открываю браузер, правой кнопкой(сссылка уже в буфере), открывается пустая веладка с ссылкой в адресной строке но не загруженной(приходится или жать еще раз или вручную загружать таки адресную строку). =/

скрытый текст
this.rightclick = function (event) {
  getBrowser (). selectedTab = getBrowser (). addTab ();
  gURLBar.select();
  goDoCommand("cmd_paste");
  gURLBar.handleCommand();
}

this.midclick = function (event) {
  var str = getSelect();
  getBrowser (). selectedTab = getBrowser (). addTab (str);
  gURLBar.handleCommand();
}

this.leftclick = function (event) {
  getBrowser (). selectedTab = getBrowser (). addTab ("about:superstart");
  gURLBar.select();
  gURLBar.handleCommand();
}


this.setAttribute("onclick", "custombuttons.gQuot.mHandler(event, this)");
this.setAttribute("onmouseover", "this.tooltipText = readFromClipboard() ? readFromClipboard() : this.label;");


/* Получить выделенный текст из страницы или текстового поля,
   если текст не выделен  функция отдаст 'false' ..........................................*/
function getSelect() {
    // выделенный текст из страницы ....
    var selection = document.commandDispatcher.focusedWindow.getSelection();
    var anchor = (selection.anchorNode !== null)? selection.anchorNode: false;

    // выделенный текст из 'PRE' ....
    if ( anchor && anchor.parentNode.tagName == 'PRE' ) {
         var node = selection.focusNode;
         var startPos = selection.anchorOffset;
         var endPos = selection.focusOffset;
         var selection = node.data.substring(startPos, endPos);
         }
    // выделенный текст из текстового поля ....
    if ( selection.toString().length == 0 ) {
         var theBox = document.commandDispatcher.focusedElement;
         if ( theBox && (theBox.type == "text" || theBox.type == "textarea") ) {
              var startPos = theBox.selectionStart;
          var endPos = theBox.selectionEnd;
          var selection = theBox.value.substring(startPos, endPos); 
              }
         }
    // исправляем проблему с переносом текста новую строку в стандартном win блокноте ....
    if ( selection.toString().length !== 0 ) {
         var selection = selection.toString();
         var selection = selection.replace(/\u000A/g, "\u000D\u000A");
         var selection = selection.replace(/\u000D\u000D\u000A/g, "\u000D\u000A");     
         }
    return ( selection == '')? false: selection;
};

Отсутствует

 

№906017-11-2015 19:10:56

rey
Участник
 
Группа: Members
Зарегистрирован: 25-05-2015
Сообщений: 11
UA: Firefox 40.0

Re: Custom Buttons

bunda1
моя кнопка по левому клику открывает новую вкладку(работает), по среднему - выделенный в браузере текст открывается в поиске в новой вкладке(работает), по правому - текст из буфера должен открыться в новой вкладке: ссылка просто откроется, текст выведется в поиске.(не работает с первого клика при включении, но после 2-3 нажатия работает как должна до выключения браузера).

Отсутствует

 

№906117-11-2015 19:28:52

rey
Участник
 
Группа: Members
Зарегистрирован: 25-05-2015
Сообщений: 11
UA: Firefox 40.0

Re: Custom Buttons

bunda1
так ведь с левым и средним кликом всё в порядке, только правый глючит.(и тот потом исправляется)

Отсутствует

 

№906217-11-2015 19:40:38

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

Re: Custom Buttons

rey пишет

bunda1
так ведь с левым и средним кликом всё в порядке, только правый глючит.(и тот потом исправляется)

:angry: ну а если так:

Выделить код

Код:

BrowserOpenTab();
gURLBar.value = readFromClipboard(); 
gURLBar.handleCommand();

или так:

Выделить код

Код:

BrowserOpenTab(), goDoCommand("cmd_paste"), gURLBar.handleCommand();

Отредактировано bunda1 (17-11-2015 20:08:15)

Отсутствует

 

№906317-11-2015 20:14:36

rey
Участник
 
Группа: Members
Зарегистрирован: 25-05-2015
Сообщений: 11
UA: Firefox 40.0

Re: Custom Buttons

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

Отсутствует

 

№906417-11-2015 20:28:32

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

Re: Custom Buttons

Ну тогда не знаю, у меня на FF43 работает.

Отсутствует

 

№906519-11-2015 21:18:53

wolwerine
╒╤╬╧╣╠═╝
 
Группа: Members
Зарегистрирован: 15-04-2009
Сообщений: 159
UA: Firefox 44.0

Re: Custom Buttons

Для будущих версий firefox с e10s (firefox 44 и далее) рабочего custom buttons не будет?

Отсутствует

 

№906620-11-2015 00:46:51

Dexu
Участник
 
Группа: Members
Зарегистрирован: 01-01-2015
Сообщений: 47
UA: Firefox 38.0

Re: Custom Buttons

bunda1
А Вы сами повседневно используете Firefox 24 ESR или последние версии?

wolwerine
А с какой версии e10s будет не отключаемым?

Отсутствует

 

№906720-11-2015 19:00:55

rey
Участник
 
Группа: Members
Зарегистрирован: 25-05-2015
Сообщений: 11
UA: Firefox 40.0

Re: Custom Buttons

ну кстати я использую Waterfox 40.0.1(в ней и проблемы).

Отредактировано rey (20-11-2015 19:01:35)

Отсутствует

 

№906820-11-2015 20:17:11

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

Re: Custom Buttons

Dexu пишет

bunda1
А Вы сами повседневно используете Firefox 24 ESR или последние версии?

Я использую Firefox 24 ESR.

Добавлено 20-11-2015 20:24:03

rey пишет

ну кстати я использую Waterfox 40.0.1(в ней и проблемы).

Ну тогда дублируй gURLBar.handleCommand(); с таймером типа:

Выделить код

Код:

BrowserOpenTab();
gURLBar.value = readFromClipboard(); 
gURLBar.handleCommand();
setTimeout(function() { gURLBar.handleCommand() }, 50)

Отредактировано bunda1 (20-11-2015 20:24:03)

Отсутствует

 

№906920-11-2015 21:48:06

wolwerine
╒╤╬╧╣╠═╝
 
Группа: Members
Зарегистрирован: 15-04-2009
Сообщений: 159
UA: Firefox 44.0

Re: Custom Buttons

Dexu пишет

А с какой версии e10s будет не отключаемым?

Вы всерьёз думаете, что если в firefox 44 отключить e10s Custom Buttons заработает?

Отсутствует

 

№907020-11-2015 22:27:54

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

Re: Custom Buttons

wolwerine пишет

Вы всерьёз думаете, что если в firefox 44 отключить e10s Custom Buttons заработает?

Проверь, тут многим это интересно.

Отсутствует

 

№907120-11-2015 22:31:21

wolwerine
╒╤╬╧╣╠═╝
 
Группа: Members
Зарегистрирован: 15-04-2009
Сообщений: 159
UA: Firefox 44.0

Re: Custom Buttons

bunda1
Уже давно всё проверено, и походу только мной.

Отсутствует

 

№907220-11-2015 22:37:29

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

Re: Custom Buttons

wolwerine пишет

bunda1
Уже давно всё проверено, и походу только мной.

Custom Buttons 0.0.5.8.1-signed ?

Отсутствует

 

№907320-11-2015 23:05:30

wolwerine
╒╤╬╧╣╠═╝
 
Группа: Members
Зарегистрирован: 15-04-2009
Сообщений: 159
UA: Firefox 44.0

Отсутствует

 

№907421-11-2015 17:44:38

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

Re: Custom Buttons

хочу кнопку которая показывает список расширений  FF
в виде  html или текста
чтоб был статус понятен вкыл выкл
внутренний удалено показушник даже не позволяет скопировать список.
-----------
и по-моему  это свинство
написать описание Custom Buttons на страничке дополнение, на инородном языке
ещё раз скажу:  это свинство и позорище,полный  отстой авторам.

Замечание п. 3.3
Sergeys

Отредактировано selevo (21-11-2015 17:48:29)

Отсутствует

 

№907521-11-2015 19:20:38

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 4001
UA: Firefox 42.0

Re: Custom Buttons

selevo
А чего не about:support ? Список показывает, скопировать можно. Вкл/Выкл отображается.
Если кнопку делать, то код

Выделить код

Код:

getBrowser (). selectedTab = getBrowser (). addTab ("about:support");

(откроет в новой вкладке)

Отредактировано Coroner (21-11-2015 19:22:28)

Отсутствует

 

Board footer

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