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

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

№667606-08-2013 22:32:22

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

Re: Custom Buttons

Может кто хочет попробовать, кнопка Спрятать панель дополнений:

Выделить код

Код:

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%u0421%u043F%u0440%u044F%u0442%u0430%u0442%u044C%20%u043F%u0430%u043D%u0435%u043B%u044C%20%u0434%u043E%u043F%u043E%u043B%u043D%u0435%u043D%u0438%u0439%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB30lEQVR42mNkoBAwInPWHbjdsHDHrVsbO7yXkWVA7fwT/+XlxRjmrjq39Om961mPdtV+IsmA3Il7/jvbazL8/PmHYcPOG3dPX3oUfWdN6kmiDUhq2/jf3kqD4f9/EO8/w/Xbb37vOPqo7uWtI10vjk/7R9CA8OoV/20tNUF6Gf79/8fw7+9fhs9ffjDsO/V834P7j2Lvbyl+hteAwJKF/63MdYAu+M/wF6j5798/DL9//WL4/fsnw437n99cvf856ebKpM04DfArmPff1FSP4f+//xDNQI1fPn9lePf2PcPz5y8Z7j16/Z+BS3Ly/U35+VgNcM2Y8V9DU4fhz58/DN9//GL4/PkL0IBPDJ8/fWD4+P4dw7dv3/7/5xCZ9GBbRQFOAzS1DcEG/Pz5k+Hrt+9AzR8ZPn14x/D+w9tXHz//SHq8t30rTi945s76b2BgwfDr92+gbUDNX74yfPjwhuHurSs7Xz+5n/DmwooXeAPRp2jOf3NTe4bv338ANX9huPvw5s9LJ49Uvn9wccLXJ6f/E4xG39K5/20tXBjeAP18YP+Wa7dOH4/6cH3LRaITklfZnP+y8ir/t65aOPPtnctF35+e+c5AAKAYYJvfsfDKzr1r3t/YvZmQRqwGkAMAJ5ELIPTev5gAAAAASUVORK5CYII%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%20right%20%3D%2018%3B%20//%20%u043E%u0442%u0441%u0442%u0443%u043F%20%u0441%u043F%u0440%u0430%u0432%u0430%20%u0432%20px%0Avar%20button%20%3D%20this%3B%0Avar%20s%20%3D%20%27CB.hideAddonBar%27%3B%0Atry%20%7B%20pref.value%20%7D%20catch%28e%29%20%7B%20Application.prefs.setValue%28%20s%2C%20false%20%29%20%7D%3B%0Avar%20pref%20%3D%20Application.prefs.get%28s%29%3B%0A%0A%0Athis.onclick%20%3D%20function%28e%29%20%7B%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20pref.value%20%3D%20pref.value%20%3F%20false%20%3A%20true%3B%0A%7D%3B%0A%0A%0Afunction%20toggleButton%28%29%20%7B%0A%20%20%20document.getElementById%28%22addon-bar%22%29.setAttribute%28%27hideElements%27%2C%20pref.value%20%29%3B%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20var%20icon%20%3D%20button.ownerDocument.getAnonymousElementByAttribute%28%20button%2C%20%22class%22%2C%20%22toolbarbutton-icon%22%29%3B%0A%20%20%20icon.style.transform%20%3D%20pref.value%20%3F%20%22rotate%28180deg%29%22%20%3A%20%22%22%3B%0A%20%20%20%0A%20%20%20button.tooltipText%20%3D%20pref.value%20%3F%20%27%u041F%u043E%u043A%u0430%u0437%u0430%u0442%u044C%20%u043F%u0430%u043D%u0435%u043B%u044C%20%u0434%u043E%u043F%u043E%u043B%u043D%u0435%u043D%u0438%u0439%27%20%3A%20%27%u0421%u043F%u0440%u044F%u0442%u0430%u0442%u044C%20%u043F%u0430%u043D%u0435%u043B%u044C%20%u0434%u043E%u043F%u043E%u043B%u043D%u0435%u043D%u0438%u0439%27%3B%20%20%20%20%20%0A%7D%3B%0AtoggleButton%28%29%3B%0AgPrefService.addObserver%28%20s%2C%20toggleButton%2C%20false%20%29%3B%0AaddDestructor%28function%28%29%20%7B%20gPrefService.removeObserver%28%20s%2C%20toggleButton%2C%20false%20%29%20%7D%29%3B%0A%0A%0A//%20%u0421%u0442%u0438%u043B%u044C%20%u0434%u043B%u044F%20%u043F%u0430%u043D%u0435%u043B%u0438%20%u0434%u043E%u043F%u043E%u043B%u043D%u0435%u043D%u0438%u0439%20%20................................%0Avar%20uri%20%3D%20makeURI%28%27data%3Atext/css%2C%27+%20encodeURIComponent%28%27%5C%0A/*%20%u043C%u0438%u043D%u0438%u043C%u0430%u043B%u044C%u043D%u044B%u0439%20%u0438%20%u043F%u0440%u043E%u0437%u0440%u0430%u0447%u043D%u044B%u0439%20*/%5C%0A%23addon-bar%20%7B%5C%0Abottom%3A%200%3B%5C%0Amargin%3A%200%3B%5C%0Awidth%3A%20auto%3B%5C%0Aposition%3A%20fixed%3B%5C%0Apadding-right%3A%202px%3B%5C%0Aright%3A%20%27%20+%20right%20+%20%27px%3B%5C%0Abackground%3A%20transparent%20%21important%3B%5C%0A%7D%5C%0A/*%20%u0435%u0441%u043B%u0438%20%u043E%u0442%u043A%u0440%u044B%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0443%20%u0438%u043D%u0441%u0442%u0440%u0443%u043C%u0435%u043D%u0442%u043E%u0432%20*/%5C%0A%23addon-bar%5Bcustomizing%5D%20%7B%5C%0Abackground%3A%20-moz-Dialog%3B%5C%0Aborder-radius%3A%207px%200%200%200%3B%5C%0Avisibility%3A%20visible%20%21important%3B%5C%0A%7D%5C%0A/*%20%u0443%u0431%u0438%u0440%u0430%u0435%u043C%20%u043B%u0438%u0448%u043D%u0438%u0435%20%u044D%u043B%u0435%u043C%u0435%u043D%u0442%u044B%2C%20%u0443%u0431%u0438%u0440%u0430%u0435%u043C%20%u043A%u043D%u043E%u043F%u043A%u0438%20%u043F%u0440%u0438%20%u0434%u043E%u0431%u0430%u0432%u043B%u0435%u043D%u0438%u0438%20%u0430%u0442%u0440%u0438%u0431%u0443%u0442%u0430%20hideElements%20*/%5C%0A%23addon-bar%20dropmarker%2C%5C%0A%23addonbar-closebutton%2C%5C%0A%23addon-bar%3Anot%28%5Bcustomizing%5D%29%5BhideElements%3D%22true%22%5D%20toolbarbutton%3Anot%28%5Bid%3D%22%27%20+%20_id%20+%20%27%22%5D%29%2C%5C%0A%23addon-bar%3Anot%28%5Bcustomizing%5D%29%5BhideElements%3D%22true%22%5D%20%23UserScriptLoader-icon%20%7B%5C%0Adisplay%3A%20none%20%21important%3B%5C%0A%7D%5C%0A%5C%0A%23addon-bar%20%3E%20%23status-bar%20%3E%20.statusbar-resizerpanel%20%7B%5C%0Aposition%3A%20relative%3B%5C%0Amargin-right%3A-4px%3B%5C%0A%7D%5C%0A%27%29%29%3B%0A%0Aconst%20sss%20%3D%20Cc%5B%22@mozilla.org/content/style-sheet-service%3B1%22%5D.getService%28Ci.nsIStyleSheetService%29%3B%0Asss.loadAndRegisterSheet%28uri%2C%20sss.AGENT_SHEET%29%3B%0AaddDestructor%28function%28%29%20%7B%20sss.unregisterSheet%28uri%2C%20sss.AGENT_SHEET%29%20%7D%29%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%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/*Addon%20Bar*/%0A%0A%23addon-bar%7B%0A%09%22-moz-appearance%3A%20none%20%21important%3B%0A%09border%3A%201px%20solid%20rgba%2810%25%2C10%25%2C10%25%2C.4%29%20%21important%3B%0A%09border-bottom%3A%20none%20%21important%3B%0A%09border-right%3A%20none%20%21important%3B%0A%09border-radius%3A%204px%200%200%200%20%21important%3B%0A%09background%3A%20rgba%28207%2C%20219%2C%20236%2C%20.85%29%3B%0A%09position%3A%20fixed%3B%0A%09bottom%3A%200%3B%0A%09right%3A%200%3B%0A%09height%3A%2022px%3B%0A%09width%3A%20auto%3B%0A%09min-width%3A%2018px%3B%0A%09vertical-align%3A%20top%3B%0A%09padding-left%3A%200%3B%0A%09margin%3A%200px%3B%22%0A%0A%7D%0A%0A%23browser-bottombox%7B%0A%09border%3A%20none%20%21important%3B%0A%7D%0A%0A%23addon-bar%20.chromeclass-toolbar-additional%7B%0A%09vertical-align%3A%20top%3B%0A%09%0A%7D%0A%0A%23addon-bar%20.toolbarbutton-1%7B%0A%09vertical-align%3A%20top%3B%0A%09padding%3A%201px%20%21important%3B%0A%7D%0A%0A%23addonbar-closebutton%7B%0A%09display%3A%20none%3B%0A%7D%0A%0A%23main-window%5Bsizemode%3D%22maximized%22%5D%20%23browser-bottombox%20%23addon-bar%7B%0A%20%20margin%3A%200%20%21important%3B%0A%7D%0A%0A%23status-bar%7B%0Aheight%3A%2022px%3B%0Aborder-bottom%3A%20none%20%21important%3B%0Amin-width%3A%2018px%3B%0Avertical-align%3A%20top%3B%0Apadding-left%3A%200%3B%0Amargin%3A%200px%3B%0Abackground%3A%20transparent%3B%0A%7D%0A%0A%0A%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Делает панель дополнений минимальным и прозрачным или вообще прячет если нажать кнопку.

Отредактировано bunda1 (06-08-2013 22:34:49)

Отсутствует

 

№667707-08-2013 11:28:21

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

Re: Custom Buttons

Как сделать чтобы

Выделить код

Код:

goDoCommand('downloadsCmd_clearDownloads')

срабатывал когда загрузки закрыты?

Отсутствует

 

№667807-08-2013 19:08:47

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

Re: Custom Buttons

voqabuhe пишет

... срабатывал когда загрузки закрыты?

Что значит загрузки закрыты ?

Отсутствует

 

№667907-08-2013 19:16:18

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

Re: Custom Buttons

bunda1 пишет

Что значит загрузки закрыты ?

Ну т.е. когда закрыто окно или вкладка с загрузками. Когда они открыты, то код срабатывает, если закрыты, то соответственно не работает.

Отсутствует

 

№668007-08-2013 19:33:37

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

Re: Custom Buttons

voqabuhe пишет

Ну т.е. когда закрыто окно или вкладка с загрузками. Когда они открыты, то код срабатывает, если закрыты, то соответственно не работает.

По умолчанию в Nightly нет вкладки с загрузками а есть загрузки в отдельном окошке Библиотеки и есть менеджер загрузок который открывается у стандартной кнопки Загрузок. Ты их имел виду или я что не понял ?

Отредактировано bunda1 (07-08-2013 19:48:35)

Отсутствует

 

№668107-08-2013 20:00:30

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

Re: Custom Buttons

bunda1
Да какая разница, ну пусть будет Библиотека, главное чтобы кнопка срабатывала независимо от всего что есть. :)

Отсутствует

 

№668207-08-2013 20:34:34

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

Re: Custom Buttons

voqabuhe пишет

Как сделать чтобы

Выделить код

Код:

goDoCommand('downloadsCmd_clearDownloads')

срабатывал когда загрузки закрыты?

Из chrome://browser/content/downloads/allDownloadsViewOverlay.js можно вытащить вот такое:

Выделить код

Код:

if (PrivateBrowsingUtils.isWindowPrivate(content)) {
    Services.downloads.cleanUpPrivate();
} else {
    Services.downloads.cleanUp();
}
Cc["@mozilla.org/browser/download-history;1"]
    .getService(Ci.nsIDownloadHistory)
    .removeAllDownloads();

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

Отсутствует

 

№668307-08-2013 21:02:05

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

Re: Custom Buttons

Infocatcher
Спасибо за код удаления :)

Отсутствует

 

№668407-08-2013 21:40:34

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

Re: Custom Buttons

Infocatcher пишет

Из chrome://browser/content/downloads/allDownloadsViewOverlay.js можно вытащить вот такое:

О, то что и хотел, спасибо большое. :beer:

Отсутствует

 

№668507-08-2013 22:43:38

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

Re: Custom Buttons

bunda1
Ты же большой мастер встраивать кнопки в адресную строку. Можешь туда запихнуть количество открытых вкладок?

Выделить код

Код:

var tabs = getBrowser().mTabContainer.childNodes;
var tabsinfo='\n';
for (var i = 0; i < tabs.length ; i++){
tmpURL =  getBrowser().getBrowserAtIndex(i).currentURI.spec
cnt=i+1;
tabsinfo=tabsinfo+cnt+':'+tabs[i].label+'\n'+tmpURL+'\n———————————————————————————————\n';
 
}
alert('Открыто вкладок '+tabs.length);

Ну или что-то подобное:)

Отсутствует

 

№668608-08-2013 12:59:16

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

Re: Custom Buttons

Что-то подобное:

Выделить код

Код:

// Добавыть нумерацию вкладок ....
function numExt() {
var tabs = document.getElementById("content").mTabs;
var count = tabs.length;
var doc = null;
for (var i = 0; i < count; i++) {
doc = tabs[i].label.replace(/^\d+ \u202D/, '');
tabs[i].label = (i + 1) + " \u202D" + doc;
}
}
if (location == "chrome://browser/content/browser.xul"){
window.addEventListener("TabOpen", function () { window.setTimeout(numExt, 5); }, false);
window.addEventListener("TabClose", function () { window.setTimeout(numExt, 5); }, false);
gBrowser.addEventListener("load", function(){window.setTimeout(numExt, 5);}, true);
}

Отсутствует

 

№668708-08-2013 13:27:16

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

Re: Custom Buttons

Andrey_Krropotkin пишет

Что-то подобное:

Спасибо, но совсем не то :)  Так мне не нравится, что на вкладках дополнительно место занимается, которое там и так весьма ограничено.

Отредактировано voqabuhe (08-08-2013 14:31:58)

Отсутствует

 

№668808-08-2013 19:40:24

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

Re: Custom Buttons

voqabuhe

Выделить код

Код:

var tabCounter = document.createElement("statusbarpanel");
tabCounter.setAttribute("style", "-moz-appearance: none !important; border: 0px; margin-right: -5px !important;" );

var urlbarIcons = document.getElementById("urlbar-icons");
urlbarIcons.insertBefore( tabCounter, urlbarIcons.firstChild );
addDestructor(function() { urlbarIcons.removeChild( tabCounter ) });

function count() {
   setTimeout(function() {  
      tabCounter.setAttribute("label", gBrowser.tabs.length );
   }, 50 )   
};
count();

addEventListener("TabOpen", count, false, gBrowser.tabContainer );
addEventListener("TabClose", count, false, gBrowser.tabContainer );

Добавлено 08-08-2013 19:49:52
В этой строчке можешь установить свой стиль для показа количество вкладок в адресной строке:

Выделить код

Код:

tabCounter.setAttribute("style", "-moz-appearance: none !important; margin-right: -5px !important; border: 0px;" );

Отредактировано bunda1 (08-08-2013 19:49:52)

Отсутствует

 

№668908-08-2013 19:58:17

firepox
Участник
 
Группа: Members
Зарегистрирован: 17-11-2011
Сообщений: 358
UA: Firefox 22.0

Re: Custom Buttons

Подскажите пожалуйста, можно допилить это дополнение?
Easy Copy Paste http://addons.mozilla.org/ru/firefox/ad … opy-paste/

скрытый текст
что-бы появлялись 4 иконки:
c1175e119ec0696e90533a19e7afb77c.jpg 

T - текст (как и есть на данный момент)
F - с форматированием (как и есть на данный момент)
H - копирует HTML
B - копирует BBcode

Сделать в настройках возможность выводить 4 иконки или типа того.

зы
H - копирует HTML - на данный момент пользуюсь отдельным дополнением.
B - копирует BBcode - на данный момент пользуюсь кастомной кнопкой.

Все в одном - было бы классно.

Отредактировано firepox (08-08-2013 19:58:52)

Отсутствует

 

№669009-08-2013 00:06:15

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

Re: Custom Buttons

bunda1
Как всегда на высоте. Всё отлично, спасибо большое drinks.gif
Это обязательно надо в готовые кнопки, такую фишку многие ищут, особенно любители тысяч вкладок.grin.gif

Отсутствует

 

№669109-08-2013 13:32:43

firepox
Участник
 
Группа: Members
Зарегистрирован: 17-11-2011
Сообщений: 358
UA: Firefox 22.0

Re: Custom Buttons

можно сделать, что бы при клике по кнопке - все было в развернутом виде?
fed53ac28fa061b965c65872ce69cf32.jpg 

скрытый текст
// Версия: от 03.06.2013. .................

const data = this.Help.split("\n");

const names = ["menupopup", "hbox", "popupset", "button"];
const btnAttrs = ["label", "tooltiptext", "value1", "value2", "popup", "image"];
const button = this;
const prefixId = "CB-" + button.id.substring(20) + "-BBCode-node";

function rep(str) { return str.replace(/%dot%/g, ".").replace(/%sym%/g, "|"); }

data.forEach(function(str) {
    if (!str) return;
    var nm = str.split(".").map(rep);

    var name = names[nm[0]];
    var id = parseInt(nm[1]) && (prefixId + nm[1]);
    var parent = document.getElementById(prefixId + nm[2]) || button;
    var attrs = nm[3] ? nm[3].split("|").map(rep) : [];

    var node = document.createElement(name);
    if (id) node.id = id;
    if (name == "button") {
        btnAttrs.forEach(function(attr, i) { attrs[i] && node.setAttribute(attr, ((attr == "label") ? " " : "") + attrs[i]) });
//        node.setAttribute("height", "8px");
        var p = node.getAttribute("popup");
        p && node.setAttribute("popup", prefixId + p);
    } else {
        if (name == "menupopup") node.setAttribute("style", "-moz-appearance: none; border: 1px solid gray");
        attrs.forEach(function(str) {
            var a = str.split("=");
            node.setAttribute(a[0], a[1]);
        });
    }
    parent.appendChild(node);
});
var popup = document.getElementById(prefixId + 1);
popup.setAttribute("oncommand", 'document.getElementById("' + button.id + '").handleClick(event)');

const btnIdPrefix = "cb-bbcode-button-";
const mid = " > .box-inherit.button-box > .button-icon { background-color: ";
const sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
const type = sss.USER_SHEET;
var mp = document.getElementById(prefixId + 7);
var style = "";
Array.slice(mp.children).forEach(function(btn) {
    btn.setAttribute("image", "data:image/x-icon;base64,AAABAAEAIA4AAAEAIABgBwAAFgAAACgAAAAgAAAAHAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAAH////5////+f////n////5////+f////n////5////+f////n////5////+f////gAAAAA=");
    btn.setAttribute("value1", "color");
    var color = btn.getAttribute("value2");
    btn.id = btnIdPrefix + color.substring(1);
    style += "#" + btn.id + mid + color + " !important; }\n"
});
var cssURI;
setTimeout(function() {
    cssURI = makeURI("data:text/css," + encodeURIComponent(style), null, null);
    if (!sss.sheetRegistered(cssURI, type)) sss.loadAndRegisterSheet(cssURI, type);
}, 1000);

var hbox = document.getElementById(prefixId + 2);
this.handleClick = function(evt) {

    var node = evt.target;
    if (node.nodeName != "button" || node.parentNode == hbox) return;

    var v1 = node.getAttribute("value1");
    var v2 = node.getAttribute("value2");
    if (v2) v2 = "=" + v2.replace("%clipboard%", gClipboard.read());

    var bb1 = "[" + v1 + (v2 || "") + "]";
    var bb2 = "[/" + v1 + "]";

    var box = content.document.activeElement;
    var txt = box.value;

    var s = box.selectionStart;
    var e = box.selectionEnd;

    var bef = txt.substring(0, s);
    var mid = txt.substring(s, e);
    var aft = txt.substring(e);

    var ins = bb1.replace(/%copy%|%move%/, mid) + (v2 == "=%move%" ? "" : mid) + bb2;
    var val = bef + ins + aft;

    box.value = val;
    box.selectionStart = s;
    box.selectionEnd = s + ins.length;
//    box.focus();
}
button.onclick = function(e) {
    if (!e.button) document.getElementById(prefixId + 1).openPopup(button);
    if (e.button == 1) {
        button.click();
        Array.forEach(hbox.children, function(node) {
            if (node.nodeName == "button") setTimeout(function() node.click(), 50);
        });
    }
};
button.onDestroy = function(reason) {
    if (reason == "update" || reason == "delete")
        if (cssURI && sss.sheetRegistered(cssURI, type)) sss.unregisterSheet(cssURI, type);
};

Отсутствует

 

№669209-08-2013 17:11:39

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

Re: Custom Buttons

firepox
СКМ открывает развернуто.


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

Отсутствует

 

№669309-08-2013 17:25:03

firepox
Участник
 
Группа: Members
Зарегистрирован: 17-11-2011
Сообщений: 358
UA: Firefox 23.0

Re: Custom Buttons

villa7 пишет

firepox
СКМ открывает развернуто.

спасибо.
а варианта с html кнопками ни у кого нет? )


Добавлено 09-08-2013 17:30:40
а можно код кнопки подправить так, что-бы кнопки не закрывались?

нужно, к примеру оформить текст:
выделил участок - средний клик - применил код.
выделил другой участок - кнопки пропали (


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

Отредактировано firepox (09-08-2013 22:17:30)

Отсутствует

 

№669409-08-2013 18:26:02

rsuan
Участник
 
Группа: Members
Зарегистрирован: 30-12-2010
Сообщений: 116
UA: Firefox 22.0

Re: Custom Buttons

rsuan пишет

Нужна кнопка Quick bookmarks для новых версий FF. Или, может быть, посоветуете её замену?

Простите, нужна кнопка Qick bookmarks. Оказывается это разные кнопки.

Отсутствует

 

№669509-08-2013 19:22:45

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

Re: Custom Buttons

firepox пишет

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

villa7 пишет

СКМ открывает развернуто.

А кто автор этой редакции кнопки, можно ссылку?

Отсутствует

 

№669609-08-2013 19:59:49

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

Re: Custom Buttons

voqabuhe
http://forum.mozilla-russia.org/viewtopic.php?pid=614895#p614895

Отредактировано villa7 (09-08-2013 20:28:10)


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

Отсутствует

 

№669709-08-2013 21:18:38

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

Re: Custom Buttons

villa7 пишет

http://forum.mozilla-russia.org/viewtopic.php?pid=614895#p614895

Спасибо. А то я прозевал эту версию, а в предыдущей развёрнутого вида по СКМ небыло.

Отсутствует

 

№669809-08-2013 21:23:09

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

Re: Custom Buttons

Ребята, подскажите как в эту кнопку прикрутить индикацию переключения.
http://forum.mozilla-russia.org/viewtopic.php?pid=528295#p528295
Переключаю ей javascript.enabled хотелось бы видеть в каком положении настройка, то бишь иконки переключались. Пробовал из сниппетов, из других кнопок подставлять, но как говорится, если глуп как дерево, родишься баобабом.


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

Отсутствует

 

№669909-08-2013 21:55:39

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

Re: Custom Buttons

villa7 пишет

Ребята, подскажите как в эту кнопку прикрутить индикацию переключения.
Переключаю ей javascript.enabled хотелось бы видеть в каком положении настройка, то бишь иконки переключались.

Самый простой вариант такой кнопки:

Выделить код

Код:

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%u0430%u0442%u044C%20JavaScript%20%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAACQWzEUkFsxhJBbMaOQWzG2kFsxyZBbMdqQWzHrkFsx+pVhOf+aaUH/o3RP/62CX/+QWzHZkFsxNP///wD///8AlF8zaLiQbf/WuqP/38az/+fUw//u39P/9eri//v07//9+vb///79//vr3//77+b/wZ2A/5RfM2////8A////AJlkNonHpIX////////////////////////+/P/++/f//vfx//728f/krob/+ujb/86vlf+ZZDaL////AP///wCeaTlXnmk59rSFWf/ZpXv/2J5v/9ebav/YlmP/1pJd/9SPWf/Tjlf/4p1p//rj0f/Yu6L/nmk5nv///wD///8ApG88FKRvPKvVroz//fDl//fHov/3z63/+dW1//javf/43sL/+uHG//rkzP/99ez/4s66/6RvPLP///8A////AP///wCqdUAot4ZW//7+/f/63sL/+ty///nbwP/528D/+d3B//rbwP/63MP//eve/+zczf+qdUDK////AP///wD///8AsXtDHrmGUv/+/Pn/+dy///jbv//43MD/+dvC//ncwf/53cL/+t3D//vn1P/17eL/sXtD5P///wD///8A////ALeCRwm5hUv//vv3//ncwf/43L//+Ny///jbwP/53cD/+d3A//ndw//74sv//Pn1/7eCR/u3gkcB////AP///wD///8AvYhL+fz28P/538f/+dy9//rcv//628H/+t3D//rdwv/53cT/++DJ///8+v/BjVP/vYhLD////wD///8A////AMSOTtr159j/+uXS//navP/527z/+tu///rdwf/63cH/+d3E//vhyP///fv/yJRX/8SOThL///8A////AP///wDKlFK78NnB//vt4f/52sD/+dzC//nexf/64Mf/+uLK//rizf/65dD///79/8uPWv/KlFLxypRSRf///wD///8A0JpVpO3Qsv//9vD/+uHK//vjzP/749D/++bT//vp1f/86dj//Orb/////f/SnXH/7tnB/9CaVeX///8A////ANWfWJLryqX///37//3p1f/969j//erb//3t3//98OL//fHk//zw5P//////4KBw///7+f/fuIf/////AP///wDapFuE68aa///////87+L//fDn//3x6//99e7//fjx//369////Pr///////779//02sD/2qRb6v///wD///8A3qhdberAjP///////////////////////fn0//vz6v/469n/+ObT//Xfxv/py6b/3qhd7d6oXV3///8A////AOKsXzbirF/G6ryB/+i3d//msm3/5LBo/+KsX/DirF/j4qxfz+KsX8zirF+74qxfqOKsX0virF8FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%20button%20%3D%20this%3B%0Avar%20s%20%3D%20%27javascript.enabled%27%3B%0Avar%20pref%20%3D%20Application.prefs.get%28s%29%3B%0A%0Athis.onclick%20%3D%20function%28e%29%20%7B%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20pref.value%20%3D%20pref.value%20%3F%20false%20%3A%20true%3B%0A%7D%3B%0A%20%0Afunction%20toggleImage%28%29%20%7B%20%0A%20%20%20pref.value%20%0A%20%20%20%3F%20button.style.filter%20%3D%20%27%27%20%20%20%20%0A%20%20%20%3A%20button.style.filter%20%3D%20%27url%28%22chrome%3A//mozapps/skin/extensions/extensions.svg%23greyscale%22%29%27%3B%7D%3B%0AtoggleImage%28%29%3B%0AgPrefService.addObserver%28%20s%2C%20toggleImage%2C%20false%20%29%3B%0AaddDestructor%28function%28%29%20%7B%20gPrefService.removeObserver%28%20s%2C%20toggleImage%2C%20false%20%29%20%7D%29%3B%20%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%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

Добавлено 09-08-2013 21:50:51
Иконку можно заменить на свою.

Отредактировано bunda1 (09-08-2013 22:00:02)

Отсутствует

 

№670009-08-2013 22:33:38

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

Re: Custom Buttons

Вопрос к знатокам
Давно задаюсь вопросом: а можно ли просмотреть содержимое кнопки по ее коду (custombutton://...) без установки?
Может есть какой-нибудь онлайн-конвертер или кнопочку придумать в помощь?

Отсутствует

 

Board footer

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