Может кто хочет попробовать, кнопка Спрятать панель дополнений:
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)
Отсутствует
Как сделать чтобы
срабатывал когда загрузки закрыты?
Отсутствует
Ну т.е. когда закрыто окно или вкладка с загрузками. Когда они открыты, то код срабатывает, если закрыты, то соответственно не работает.
По умолчанию в Nightly нет вкладки с загрузками а есть загрузки в отдельном окошке Библиотеки и есть менеджер загрузок который открывается у стандартной кнопки Загрузок. Ты их имел виду или я что не понял ?
Отредактировано bunda1 (07-08-2013 19:48:35)
Отсутствует
Как сделать чтобы
срабатывал когда загрузки закрыты?
Из 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();
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
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);
Ну или что-то подобное
Отсутствует
Что-то подобное:
// Добавыть нумерацию вкладок .... 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); }
Отсутствует
Что-то подобное:
Спасибо, но совсем не то Так мне не нравится, что на вкладках дополнительно место занимается, которое там и так весьма ограничено.
Отредактировано voqabuhe (08-08-2013 14:31:58)
Отсутствует
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)
Отсутствует
Подскажите пожалуйста, можно допилить это дополнение?
Easy Copy Paste http://addons.mozilla.org/ru/firefox/ad … opy-paste/
T - текст (как и есть на данный момент)
F - с форматированием (как и есть на данный момент)
H - копирует HTML
B - копирует BBcode
Сделать в настройках возможность выводить 4 иконки или типа того.
зы
H - копирует HTML - на данный момент пользуюсь отдельным дополнением.
B - копирует BBcode - на данный момент пользуюсь кастомной кнопкой.
Все в одном - было бы классно.
Отредактировано firepox (08-08-2013 19:58:52)
Отсутствует
можно сделать, что бы при клике по кнопке - все было в развернутом виде?
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);
};
Отсутствует
firepox
СКМ открывает развернуто.
спасибо.
а варианта с html кнопками ни у кого нет? )
Добавлено 09-08-2013 17:30:40
а можно код кнопки подправить так, что-бы кнопки не закрывались?
нужно, к примеру оформить текст:
выделил участок - средний клик - применил код.
выделил другой участок - кнопки пропали (
требуется для быстрого добавления картинки при постинге на сайте (вставка ссылки на картинку, которая будет залита на сервер):
как должно быть: СКМ по картинке (или любое другое действие, главное, что-бы оно было быстрым) - вставить - залить - все.
Отредактировано firepox (09-08-2013 22:17:30)
Отсутствует
Ребята, подскажите как в эту кнопку прикрутить индикацию переключения.
http://forum.mozilla-russia.org/viewtopic.php?pid=528295#p528295
Переключаю ей javascript.enabled хотелось бы видеть в каком положении настройка, то бишь иконки переключались. Пробовал из сниппетов, из других кнопок подставлять, но как говорится, если глуп как дерево, родишься баобабом.
Лучше спросить у знающих - чем лезть не зная.
Отсутствует
Ребята, подскажите как в эту кнопку прикрутить индикацию переключения.
Переключаю ей 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)
Отсутствует
Вопрос к знатокам
Давно задаюсь вопросом: а можно ли просмотреть содержимое кнопки по ее коду (custombutton://...) без установки?
Может есть какой-нибудь онлайн-конвертер или кнопочку придумать в помощь?
Отсутствует