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

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

№1467603-06-2020 16:28:26

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 77.0

Re: Custom Buttons

Andrey_Krropotkin
Это всё понятно, но у меня почему-то когда спрашивал, в Notepad++ поиск не нашёл строки, которые надо заменять. Наверное не правильно скопировал. Сейчас всё нашлось и работает. Спасибо.

Отсутствует

 

№1467703-06-2020 17:33:54

skuwakin
Участник
 
Группа: Members
Зарегистрирован: 03-04-2005
Сообщений: 60
UA: Seamonkey 2.49

Re: Custom Buttons

Доброго времени суток. Есть семанка 2.49.х (1 и 5)
custom buttons стоит последний. И вроде как работает, во всех меню есть его строка, при переходе из адресной строки по скопированному коду для custom buttons все октывается как надо и... на этом усё... При клике на саму кнопку ничего не происходит. Подскажите плиз в какцю сторону копать... Ну и хорошо  бы какуюю-нибудь тестовую. строчку инициализации, которая бы гарантировано работала бы в семанке?.

Отредактировано skuwakin (03-06-2020 17:34:51)

Отсутствует

 

№1467804-06-2020 01:06:33

kazarin
Участник
 
Группа: Members
Зарегистрирован: 23-11-2016
Сообщений: 85
UA: Firefox 75.0

Re: Custom Buttons

Уважаемые форумчане, прошу помощи. Можно ли вынести функцию расширения SingleFile "Сохранить выделенное" в отдельную кнопку? Команда в середине контекстного подменю, пользуюсь этой командой едва ли не чаще, чем обычным сохранением страницы, горячей клавиши нет, очень неудобно, ткнёшь не туда, и куча ненужного начинает открываться.
Пробовал поковырять сам, DI выдаёт такое:|
orheQbmm.png
Разархивировал само расширение, вроде в extension\ui\content в content-ui-main.js нужные скрипты лежат, но вытащить в кнопку не получилось, не хватает понимания того, что делаю.
Решаема ли задача или я невозможного хочу?

Отсутствует

 

№1467904-06-2020 12:33:00

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2247
UA: Firefox 52.0

Re: Custom Buttons

skuwakin пишет

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

alert(2+2);


kazarin

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

Выделить код

Код:

var code = `(async win => {
	var cl = obj => Components.utils.cloneInto(obj, win);
	var tabs = await win.browser.tabs.query(cl({active: true, currentWindow: true}));
	win.singlefile.extension.core.bg.business.saveTabs(tabs, cl({selected: true}));
})(content.wrappedJSObject)`;

Cu.import("resource://gre/modules/Extension.jsm", {}).GlobalManager.extensionMap
	.get("{531906d3-e22f-4a6c-a102-8057b88a1a63}")._backgroundPageFrameLoader
	.messageManager.loadFrameScript("data:," + encodeURIComponent(code), false);

Отсутствует

 

№1468004-06-2020 15:12:40

solombala
Забанен
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 652
UA: Firefox 77.0

Re: Custom Buttons

Dumby

Dumby пишет

Нужно править сам cookiesPermissions.js

cookiesPermissions.js ? И где он ? С паролями тоже напарился конкретно LoginHelper.jsm в модулях рихтовать пришлось и privacy.js - тоже.

Отсутствует

 

№1468104-06-2020 19:30:13

kazarin
Участник
 
Группа: Members
Зарегистрирован: 23-11-2016
Сообщений: 85
UA: Firefox 75.0

Re: Custom Buttons

Dumby, огромное вам спасибо! Выручили невероятно:)

Отсутствует

 

№1468204-06-2020 20:31:17

skuwakin
Участник
 
Группа: Members
Зарегистрирован: 03-04-2005
Сообщений: 60
UA: Seamonkey 2.49

Re: Custom Buttons

Dumby пишет

alert(2+2);

Спасибо за ответ! Только грусто и абыдно за мурзилку...  Нифига в ней не робит...  Пробовал вообще на голой, только что поставленной 2.49.5 и нифига... Кнопка нажимается и усё... На старых кнопках даже хинты показываются, а действия не запускаются... Самое невероятное, что в аддонс манагер тоже все красиво - есть отдельная категория custom buttons с кнопками, которые абсолютно нормально удаляются там. Отсюда вопрос, а оно вообще на 2.49.х работает?  Уж больно ценное приложение и такой жестий обломс...

Отсутствует

 

№1468304-06-2020 21:40:30

kokoss
Участник
 
Группа: Members
Зарегистрирован: 15-02-2018
Сообщений: 1739
UA: Firefox 52.0

Re: Custom Buttons

skuwakin
Попробуйте эту версию: https://forum.mozilla-russia.org/viewto … 96#p755496 или эту: https://forum.mozilla-russia.org/viewto … 43#p744943

Отредактировано kokoss (04-06-2020 21:43:27)


Win7

Отсутствует

 

№1468404-06-2020 23:13:05

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2247
UA: Firefox 52.0

Re: Custom Buttons

solombala пишет

cookiesPermissions.js ? И где он ?

Да там же, где и обычно.

Отсутствует

 

№1468505-06-2020 11:55:43

solombala
Забанен
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 652
UA: Firefox 77.0

Re: Custom Buttons

Dumby
А, это скрипто-кнопка? Так при очистке профиля настройки разве не падают? Ну, все,осталось пара вопросов...Какой код на нажатие  здесь?
"Восстановить набор поисковых...."
nrvvzf6x.png

Отсутствует

 

№1468605-06-2020 12:02:52

manuk
Участник
 
Группа: Members
Зарегистрирован: 17-10-2010
Сообщений: 306
UA: Firefox 52.0

Re: Custom Buttons

Можно в кнопке "Яркость" заменить (добавить) иконку с цифрами (процентами), соответствующим уровням?

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

Выделить код

Код:

/*Initialization Code*/// Настройка функций кликов мыши для кнопки ..........
this.onclick =e=> {
   
   // действие при клике ЛКМ ....
   if ( e.button == 0 ) setStyleForPages( cbu.setPrefs(s, !cbu.getPrefs(s)) )
          
   // действие при клике СКМ ....    
   if ( e.button == 1 ) gShowPopup(this);
     
   // действие при клике ПКМ ....    
   if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) { 
        e.preventDefault();  
        menuPopup.showPopup(this, -1, -1, "popup", "bottomleft", "topleft")
        }
};


// Колёсиком мыши на кнопке менять яркость в настройках и стиле ..........
this.onwheel =e=>{
   var i = cbu.getPrefs(l),
       i = e.deltaY < 0 ? i + step : i - step;
   if ( 0 <= i && i <= 99 ) cbu.setPrefs(l, i);

   setStyleForPages( cbu.setPrefs(s, true) );
};


// Исправить проблему с position для изображений ..........
addEventListener("mouseover", e=>{
   if ( e.button || e.target.localName !== 'img' ) return;  
   
   var img = e.target, node = img;
   if ( getPosition(img) == 'absolute') { img.setAttribute('currentPosition', 'true'); return; };  

   while( node = node.parentNode ) {
      if ( getPosition(node) == 'relative' ) break;
      if ( getPosition(node) == 'absolute') { img.setAttribute('parentPosition', 'true'); break; };   
   };
    function getPosition(node) { try { return getComputedStyle(node, '').position } catch(e) { return "" } };  
   ;
}, false, gBrowser);


// Получить настройки кнопки и css код из вкладки Справка ..........
var step = 2,
    s = "CB.darken",
    help = self.getAttribute('Help'),
    l = "CB.darken.level";


// Создать настройки кнопки в about:config если они не существует ..........
cbu.isPref(l, 28);
cbu.isPref(s, false);


// Установить нужную иконку кнопки при старте браузера или при изменениях настроек кнопки ..........
function toggleImage() {
   self.ownerDocument.getAnonymousElementByAttribute(self, "class", "toolbarbutton-icon").
   src = !cbu.getPrefs(s) ? self.image : "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wBSUlIAPT09ADo6OgI4ODgFNzc3IjY2NjZeXl62WVlZvI6Ojt+QkJDpmZmZ+VNTU7QvLy8NQEBAAE9PTwD///8ATk5OAVNTU1iIiIjGn5+f1Kenp/Cbm5v42tra/9DQ0P/R0dH/6Ojo/+bm5v+zs7P/bm5uz1xcXHBSUlIl////AJWVlb7i4uL/6enp//Hx8f/w8PD/7u7u//f39//t7e3/3d3d//Dw8P/x8fH/7+/v/8fHx/+6urr/cHBwc////wCXl5d719fX7erq6v/m5ub/4ODg//r6+v/19fX/yMjI/7u7u//29vb/5ubm/9zc3P+zs7PmeHh4VFpaWgn///8Ag4ODAISEhBilpaV7+fn5//Hx8f/29vb/9/f3/9/f3//Gxsb/7u7u/9zc3P+ioqL/cHBw7EhISItMTEwP////AIaGhgCHh4cAfn5+FaWlpbTU1NT/3t7e/+zs7P/39/f/z8/P/7Kysv+enp7/o6Oj/5+fn/9OTk6OSEhIIP///wCIiIgAiIiIAHZ2dgJTU1NPiIiI/52dnf+bm5v/qKio/5CQkP+JiYn/mJiY/6+vr/+tra3/Xl5ez0dHR0T///8Ae3t7AIWFhQB5eXkeY2Njio2NjfisrKz/nJyc/5OTk/+VlZX/oKCg/6ysrP+1tbX/qKio/11dXb5HR0cY////AG5ubgBycnIAeHh4AGRkZC99fX34s7Oz/7Ozs/+vr6//r6+v/7Kysv+zs7P/rq6u/5eXl/9VVVV4RkZGM////wA/Pz8Aa2trAHh4eAN2dnY/ZmZmbpeXl/+xsbH/srKy/7Gxsf+vr6//q6ur/6mpqf9ubm7iTExMTEtLSwD///8AKioqAHR0dAB4eHgAdHR0AHFxcUhubm6kj4+P8KioqP+tra3/rKys/5+fn/hzc3PtVFRULExMTB9LS0sC////ABQUFAAaGhoAeHh4AHR0dAB1dXUPbGxsAGpqapBxcXF5eHh40HJycp5hYWGFVFRUMVNTUylMTEwAS0tLAP///wAAAAAAAAAAAHh4eAB0dHQAdHR0AG9vbwZvb28OaGhoBGZmZkVgYGAAXV1dL1dXVwBTU1MATExMAEtLSwD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AADgAwAAgAAAAIAAAACAAAAAwAAAAOAAAADgAAAA4AAAAPAAAADgAQAA+AAAAPoDAAD8LwAA//8AAA=="; 
};
toggleImage();
gPrefService.addObserver(s, toggleImage, false);
addDestructor(()=> gPrefService.removeObserver(s, toggleImage));


// Переключить css стиль для страницы ..........
function setStyleForPages() {
   var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
   var css = help.replace(/value/g, cbu.getPrefs(l)/100 );      
   var uri = makeURI("data:text/css," + encodeURIComponent(css)); 
   
   try { sss.unregisterSheet(previousUri || uri, 0) } catch(e) {};
   previousUri = uri;
   
   cbu.getPrefs(s) && sss.loadAndRegisterSheet(uri, 0);
};
cbu.getPrefs(s) && setStyleForPages();




// Подсказка для кнопки .......... 
this.tooltipText = "Л: Переключить яркость страниц \nС: CB Меню \nП: Открыть меню кнопки Save \nКолёсиком мыши на кнопке можно менять яркость страниц";

Отредактировано manuk (05-06-2020 12:03:27)

Отсутствует

 

№1468705-06-2020 14:40:44

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2247
UA: Firefox 52.0

Re: Custom Buttons

solombala пишет

Какой код на нажатие  здесь?
"Восстановить набор поисковых...."

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

Выделить код

Код:

(async (observers, ind) => {
	observers = Array.from(observers, obs => obs.wrappedJSObject).filter(
		obs => obs && "_syncFromShowSearchSuggestionsFirstPref" in obs
	);
	if (observers.length)
		for(var obs of observers) obs.onRestoreDefaults();
	else {
		for(var engine of await Services.search.getDefaultEngines())
			engine.hidden = false,
			await Services.search.moveEngine(engine, ind++);

		Services.search.resetToOriginalDefaultEngine();
	}
})(Services.obs.enumerateObservers("browser-search-engine-modified"), 0);

manuk пишет

заменить

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

Выделить код

Код:

function toggleImage() {
	var [img, lab] = document.getAnonymousNodes(self);
	var darken = img.hidden = Services.prefs.getBoolPref(s);
	lab.style.display = darken ? "-moz-box" : "none";
	darken && lab.setAttribute("value", ("0" + Services.prefs.getIntPref(l)).slice(-2));
}

Отредактировано Dumby (05-06-2020 14:41:16)

Отсутствует

 

№1468805-06-2020 15:27:28

solombala
Забанен
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 652
UA: Firefox 77.0

Re: Custom Buttons

Dumby
Это код замечательный в /*Initialization Code*/  не будет тормозить? Может в рестарт ?
Последнее...В 77 пароли заделал от 76 . Короче, passwordmgr - passwordManager.js  и т.д Но в  passwordManager.js  это не работает и иконки 32 так и остаются
return PlacesUtils.urlWithSizeRef(window, "page-icon:" + signon.origin, 16);
qfk87u57.png
Кстати, я могу теперь в однопроцессе смотреть сертификаты и куки !
3brrmjw6.png

Отредактировано solombala (05-06-2020 16:00:13)

Отсутствует

 

№1468905-06-2020 17:05:55

manuk
Участник
 
Группа: Members
Зарегистрирован: 17-10-2010
Сообщений: 306
UA: Firefox 52.0

Re: Custom Buttons

Dumby, цифра появилась, но при изменении яркости не меняется. Я просто добавил ваш код к коду кнопки. ЧЯДНТ?

Отредактировано manuk (05-06-2020 17:31:51)

Отсутствует

 

№1469005-06-2020 17:10:45

ALEX_45_ORP
Участник
 
Группа: Members
Зарегистрирован: 18-01-2018
Сообщений: 162
UA: Firefox 75.0

Re: Custom Buttons

solombala пишет

... Кстати, я могу теперь в однопроцессе смотреть сертификаты и куки !
                    Отредактировано solombala (Сегодня 16:00:13)

уже захотелось 77 попробовать ... shuffle.gif


Win 10х64

Отсутствует

 

№1469105-06-2020 18:12:42

skuwakin
Участник
 
Группа: Members
Зарегистрирован: 03-04-2005
Сообщений: 60
UA: Seamonkey 2.49

Re: Custom Buttons

kokoss пишет

Огромное спасибо! Подписанный из первой ссылки заработал!

Отсутствует

 

№1469205-06-2020 18:30:33

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2247
UA: Firefox 52.0

Re: Custom Buttons

solombala пишет

в /*Initialization Code*/  не будет тормозить? Может в рестарт ?

Зависит от задачи, описание которой не предоставлено.
(действительно, зачем объяснять свой замысел, правда же?)
Код исходит из предположения, что будет использоваться по клику.


solombala пишет

Короче, passwordmgr - passwordManager.js  и т.д

Что «и т.д»? chrome://global/skin/passwordmgr.css обратно на место положил?
А то, судя по скрину, что-то не похоже.


manuk пишет

ЧЯДНТ?

Нужен URL получившейся кнопки, я же не телепат.

Отсутствует

 

№1469305-06-2020 19:05:42

solombala
Забанен
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 652
UA: Firefox 77.0

Re: Custom Buttons

Dumby
Ясен пень положил. И еще есть  папка passwordmgr , в ней passwordManager.xhtml и  passwordManager.js

В этом js есть  return PlacesUtils.urlWithSizeRef(window, "page-icon:" + signon.origin, 16); Вот только иконки не всегда  16 , прет и 32 и 48 ...

Пришлось так:  return PlacesUtils.urlWithSizeRef(window, "page-icon:" ); Теперь просто из скина дефолтная иконка появляется...В 76 норм , там четко иконки из закладок(16х16)

Отсутствует

 

№1469405-06-2020 19:21:06

unter_officer
Участник
 
Группа: Members
Откуда: Санкт-Петербург
Зарегистрирован: 27-03-2011
Сообщений: 596
UA: Firefox 52.0

Re: Custom Buttons

solombala пишет

Кстати, я могу теперь в однопроцессе смотреть сертификаты и куки !

Расскажи, как ты это сделал?


«The Truth Is Out There»

Отсутствует

 

№1469505-06-2020 20:02:32

manuk
Участник
 
Группа: Members
Зарегистрирован: 17-10-2010
Сообщений: 306
UA: Firefox 52.0

Re: Custom Buttons

Dumby пишет

Нужен URL получившейся кнопки, я же не телепат.

Dumby, извини. Я накосячил. Всё работает. Спасибо.

Отредактировано manuk (05-06-2020 20:40:59)

Отсутствует

 

№1469605-06-2020 20:08:07

solombala
Забанен
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 652
UA: Firefox 77.0

Отсутствует

 

№1469705-06-2020 20:10:07

unter_officer
Участник
 
Группа: Members
Откуда: Санкт-Петербург
Зарегистрирован: 27-03-2011
Сообщений: 596
UA: Firefox 52.0

Re: Custom Buttons

solombala, спасибо.


«The Truth Is Out There»

Отсутствует

 

№1469805-06-2020 21:11:17

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2247
UA: Firefox 52.0

Re: Custom Buttons

solombala пишет

Вот только иконки не всегда  16 , прет и 32 и 48

16 может просто не быть, это же не значит, что она должна отображаться не 16.
Странно, если и во вкладке с адресом chrome://global/skin/passwordmgr.css
css-код виден, то тогда не знаю.


Может попробуй в userChrome.css добавить

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

Выделить код

Код:

@-moz-document url(chrome://passwordmgr/content/passwordManager.xhtml) {
	treechildren::-moz-tree-image(siteCol) {
		width: 16px !important;
		height: 16px !important;
		margin-inline-end: 5px !important;
	}
}

Отсутствует

 

№1469905-06-2020 21:34:00

solombala
Забанен
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 652
UA: Firefox 77.0

Re: Custom Buttons

Dumby
Код сработал...Потом полез в скин , а passwordmgr.css был выкинут ...От я будала...
Опять эта шняга в about:addons .... aboutaddons.js - все перерыл вроде это повтыкал  e.preventDefault(); , один черт иногда вылазит..
2b439hdv.png
Вроде сделал , не выскакивает...А, что в 77 в адресе зависает #identity-icon-label - аддоны, в смысле ...Вкладки закрыл, а фигня торчит Firefox/addons
Да, эти три точки в кнопках (.more-options-button) вверх поднять?
gsussslq.png

Отредактировано solombala (06-06-2020 12:49:04)

Отсутствует

 

№1470007-06-2020 21:28:56

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

Re: Custom Buttons

Имеется пробная кнопка:
----------------------------------------------------------------------
var loader = Components.classes[ "@mozilla.org/moz/jssubscript-loader;1" ].getService( Components.interfaces.mozIJSSubScriptLoader );
loader.loadSubScript("file:///D:/temp/list.js");

var alertsService = Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService);
var image = "no"
var title = foo();
var notification = array.join("\r\n");
alertsService.showAlertNotification(image, title, notification);
----------------------------------------------------------------------
использующая импорт внешнего js-кода
list.js (кодировка ср1251):
----------------------------------------
var EXPORTED_SYMBOLS = ["foo", "array"];
function foo() { return "Привет мир"; }
array = ["Знание сила","Вместе победим"]
----------------------------------------
При нажатии выдает символы Window-1252 (ISO-8859-1)
f81e350805ed.jpg
как можно добиться корректного (Window-1251) вывода?

Отредактировано ruslaw (07-06-2020 23:24:40)

Отсутствует

 

Board footer

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