А нет ли кнопки переключающей параметр в about:config. Нужно быстро отключать/включать на некоторых сайтах browser.display.background_color.
Просто изменил этот параметр с белого на чёрный, чтобы не моргал при загрузке браузера белым цветом, по глазам бьет, особенно ночью, а он некоторые сайты задевает. Раньше спасал стиль
но после установки Fast Dial не могу убрать это бельмо. Или может кто знает как стилем изменить цвет.
Лучше спросить у знающих - чем лезть не зная.
Отсутствует
Есть. Настройки инспектора, поставить галку.
Да есть, я проглядел, но большие страницы не сохраняет.
Добавлено 12-12-2015 12:25:47
А нет ли кнопки переключающей параметр в about:config.
Нет.
Отредактировано bunda1 (12-12-2015 12:25:47)
Отсутствует
Снова прошу кнопку "Цитата" преимущественно для forum.ru-board.com
Знаю что есть вариант Лекса, им пользовался, так же мне другие пользователи ресурса давали этот код. но я сейчас остановился на 2х вариантах: один не захватывает ник в конструкцию <b></ b>, а другой лишнее <quote>< / quote> в конце.
[ заменил на < чтобы форум пропустил сообщение.
Спасибо
Отсутствует
bunda1
var win = Services.wm.getMostRecentWindow("Browser:Cookies"); win && win.close(); var win = openDialog ("chrome://browser/content/preferences/cookies.xul", "_blank", "resizable,dialog=yes,centerscreen", null); win.addEventListener("load", function s(e) { win.removeEventListener("load", s, false); var host = content.location.host, arr = host.split('.'); if ( arr.length > 2 ) host = arr[1] + "." + arr[2]; var filter = win.document.getElementById("filter"); filter.value = host; setTimeout(function() filter.doCommand(), 0); }, false);
Отсутствует
Можно в этой кнопке сделать: ЛКМ - открыть куки текущей вкладки, ПКМ - открыть кукименеджер.
this.onclick =e=> { if ( e.button == 0 ) { var win = Services.wm.getMostRecentWindow("Browser:Cookies"); win && win.close(); var win = openDialog("chrome://browser/content/preferences/cookies.xul", "", "resizable,dialog=yes,centerscreen", null); win.addEventListener("load", function s() { win.removeEventListener("load", s); var host = content.location.host, arr = host.split('.'); if ( arr.length > 2 ) host = arr[1] + "." + arr[2]; var filter = win.document.getElementById("filter"); filter.value = host; setTimeout(function() filter.doCommand(), 0); }); } if ( e.button == 1 ) gShowPopup(this); if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) { e.preventDefault(); var win = Services.wm.getMostRecentWindow("Browser:Permissions"); win && win.close(); openDialog("chrome://browser/content/preferences/permissions.xul", "", "centerscreen, resizable=1", { blockVisible: 1, sessionVisible: 1, allowVisible: 1, prefilledHost: content.location.host, permissionType: "cookie", windowTitle: "Управление cookies", introText: "" }); } }; this.tooltipText = "Л: Открыть куки текущей вкладки \nС: CB Меню \nП: Открыть кукименеджер";
Отсутствует
Неужели никто не поделится кодом?
Отсутствует
Kiril__777
Код Lex1 прекрасно работает и здесь, и на ru-board. И вообще непонятно, что Вы ещё хотите, какие Вам давали коды, которые криво работают.
P.S. Я на эту кнопку повесил сочетание Ctrl+Alt+Q, работает.
Отсутствует
xrun1
Хорошо спасибо
Отсутствует
Что-то стал дурить Custom Buttons. Я не спец в скриптах. Где-то нашел простой скрипт для запуска программы и вывел запуск клавиатуры:
Код:
var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("C:\\windows\\system32\\Osk.exe");
file.launch();
Инициализация пустая.
Работал нормально до последнего времени. А сейчас при нажатии выдает "Не удалось запустить экранную клавиатуру". Я недавно перешел на Win10x64 и версия FF поменялась до 43.0.2. Кто из них виноват и как подправить?
Что еще, после ряда "танцев" при том же коде вдруг начинает работать. После обновления FF снова перестает.
Отредактировано DroG (24-12-2015 12:07:17)
Отсутствует
Что-то стал дурить Custom Buttons. Я не спец в скриптах. Где-то нашел простой скрипт для запуска программы и вывел запуск клавиатуры:
var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("C:\\windows\\system32\\Osk.exe");
file.launch();
Да есть такое и не понятно почему. Может скопируй osk.exe в другое место, измени сответствено код и попробуй запускать.
Отсутствует
Здравствуйте, есть кнопка
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%u0418%u043D%u0434%u0438%u043A%u0430%u0446%u0438%u044F%20%u0442%u0435%u043A%u0443%u0449%u0435%u0439%20%u0440%u0430%u0441%u043A%u043B%u0430%u0434%u043A%u0438%20%u0444%u043E%u043D%u043E%u043C%20%u043F%u043E%u043B%u044F%20%u0432%u0432%u043E%u0434%u0430%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAjUlEQVR42p2SQRLAMARFuZX7r9xKh6mMKtLUJtr4T74EAUDgDmG2FYnKPIfuoepy8ReA/meWfwAXW35qIYoXYOqa8yh+AHYWKnEL8NxtdWKrk26n8XwE2IlHgFvw0DIifAD1uwR450rgsBYQj10BIvgFyJ6rji2gGlh3ggg3QDftCbBmAPZW6qvyLtMtXHnJyXkUQIobAAAAAElFTkSuQmCC%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%20BGcolorEN%3D%22%23f5f5ff%22%3B//%u0446%u0432%u0435%u0442%20%u0444%u043E%u043D%u0430%20%u043F%u043E%u043B%u044F%20%u0432%u0432%u043E%u0434%u0430%20%u043F%u0440%u0438%20%u043B%u0430%u0442%u0438%u043D%u0441%u043A%u043E%u0439%20%u0440%u0430%u0441%u043A%u043B%u0430%u0434%u043A%u0435%0Avar%20BGcolorRU%3D%22%23fff5f5%22%3B//%u0446%u0432%u0435%u0442%20%u0444%u043E%u043D%u0430%20%u043F%u043E%u043B%u044F%20%u0432%u0432%u043E%u0434%u0430%20%u043F%u0440%u0438%20%u0440%u0443%u0441%u0441%u043A%u043E%u0439%20%u0440%u0430%u0441%u043A%u043B%u0430%u0434%u043A%u0435%20%0A%0Avar%20bgorig%3B%0Avar%20trgt%3B%0A%0Afunction%20blurry%28e%29%7B%0Atrgt.style.background%3Dbgorig%3B%0Atrgt.removeEventListener%28%22keyup%22%2C%20checkKeyb%2C%20true%29%3B%0Atrgt.removeEventListener%28%22blur%22%2C%20blurry%2C%20true%29%3B%0A%7D%3B%0A%0Afunction%20checkKeyb%28e%29%7B%0Avar%20fkey%3De.keyCode%3B%0Aif%20%28fkey%3D%3D16%20%7C%7C%20fkey%3D%3D17%20%7C%7C%20fkey%3D%3D18%29%7B%20//%20%u043F%u0440%u043E%u0432%u0435%u0440%u043A%u0430%20%u043D%u0430%u0436%u0430%u0442%u0438%u0439%20alt%20ctrl%20shift%20%u0434%u043B%u044F%20%u043F%u0440%u043E%u0432%u0435%u0440%u043A%u0438%20%u0441%u0442%u0430%u0442%u0443%u0441%u0430%20%u043F%u0440%u0438%20%u0441%u043C%u0435%u043D%u0435%20%u0440%u0430%u0441%u043A%u043B%u0430%u0434%u043A%u0438%20%u0435%u0441%u043B%u0438%20%u043D%u0430%u0434%u043E%20%u0434%u043E%u0430%u0432%u044C%u0442%u0435%20%u0441%u0432%u043E%u0438%20%u043A%u043E%u0434%u044B%0Avar%20curlang%3Dkb.getLangNameAbr%28%29%3B%0Aif%20%28curlang%3D%3D%27ru%27%29%7Btrgt.style.backgroundColor%3DBGcolorRU%3B%7D%0Aif%20%28curlang%3D%3D%27en%27%29%7Btrgt.style.backgroundColor%3DBGcolorEN%3B%7D%09%0A%7D%3B%0A%7D%3B%0A%0Afunction%20checkNode%28e%29%20%7B%0A%09var%20trg%20%3D%20e.originalTarget%3B%0A%09var%20ln%20%3D%20trg.localName%3B%0A%09if%28ln%20%26%26%20%28ln%20%3D%3D%20%22input%22%20%7C%7C%20ln%20%3D%3D%20%22textarea%22%29%29%7B%0Abgorig%3Dtrg.style.backgroundColor%3B%0Atrgt%3Dtrg%3B%0Atrg.addEventListener%28%22blur%22%2C%20blurry%2C%20true%29%3B%0Avar%20curlang%3Dkb.getLangNameAbr%28%29%3B%0Aif%20%28curlang%3D%3D%27ru%27%29%7Btrg.style.backgroundColor%3DBGcolorRU%3B%7D%0Aif%20%28curlang%3D%3D%27en%27%29%7Btrg.style.backgroundColor%3DBGcolorEN%3B%7D%09%0Atrg.addEventListener%28%22keyup%22%2C%20checkKeyb%2C%20true%29%3B%0A%7D%0A%7D%0A%0A//----------------code%20by%20Infocatcher---------------------------------------%0Avar%20kb%20%3D%20%7B%0AGetKeyboardLayout%3A%20null%2C%0AGetLocaleInfoW%3A%20null%2C%0Ainit%3A%20function%28%29%0A%7B%0Athis.init%20%3D%20function%28%29%20%7B%7D%3B%0AComponents.utils.import%28%22resource%3A//gre/modules/ctypes.jsm%22%2C%20this%29%3B%0Alet%20ctypes%20%3D%20this.ctypes%3B%0Alet%20a%20%3D%20Cc%5B%22@mozilla.org/xre/app-info%3B1%22%5D.getService%28Ci.nsIXULRuntime%29%3B%0Alet%20abi%20%3D%20a.XPCOMABI.indexOf%28%22x86_64%22%29%20%3D%3D%20-1%20%3F%20ctypes.winapi_abi%20%3A%20ctypes.default_abi%3B%0Athis.GetKeyboardLayout%20%3D%20ctypes.open%28%22user32.dll%22%29.declare%28%22GetKeyboardLayout%22%2C%20abi%2C%20ctypes.uintptr_t%2C%20ctypes.uint32_t%29%3B%0Athis.GetLocaleInfoW%20%3D%20ctypes.open%28%22kernel32.dll%22%29.declare%28%22GetLocaleInfoW%22%2C%20abi%2C%20ctypes.int32_t%2C%20ctypes.uint32_t%2C%20ctypes.uint32_t%2C%20ctypes.jschar.ptr%2C%20ctypes.int32_t%29%3B%0A%7D%2C%0AgetLangNameAbr%3A%20function%28%29%0A%7B%0Athis.init%28%29%3B%0Atry%0A%7B%0Alet%20ctypes%20%3D%20this.ctypes%3B%0Alet%20lcid%20%3D%20ctypes.UInt64.lo%28ctypes.UInt64%28%220x%22%20+%20this.GetKeyboardLayout%280%29.toString%2816%29%29%29%20%26%200xFFFF%3B%0Alet%20bufferLength%20%3D%20this.GetLocaleInfoW%28lcid%2C%2089%2C%20ctypes.jschar.ptr%280%29%2C%200%29%3B%0Aif%20%28bufferLength%20%3D%3D%200%29%0Areturn%3B%0A%20%0Alet%20buffer%20%3D%20ctypes.jschar.array%28bufferLength%29%28%29%3B%0Aif%20%28this.GetLocaleInfoW%28lcid%2C%2089%2C%20ctypes.cast%28buffer.address%28%29%2C%20ctypes.jschar.ptr%29%2C%20bufferLength%29%20%21%3D%200%29%0Areturn%20buffer.readString%28%29%3B%0A%7D%0Acatch%28e%29%7B%7D%3B%0A%7D%0A%7D%3B%0A//-------------------------------------------------------%0A%0A//%20Windows%20watcher%2C%20based%20on%20code%20from%0A//%20https%3A//github.com/Infocatcher/Custom_Buttons/tree/master/CB_Editor_Toggle_on_Top%0A%20%0Aconst%20watcherId%20%3D%20%22customButtonsWindowsWatcher_%22%20+%20this.id%3B%0Avar%20%7BApplication%2C%20Components%7D%20%3D%20window%3B%20//%20Prevent%20garbage%20collection%20in%20Firefox%203.6%20and%20older%0Avar%20watcher%20%3D%20Application.storage.get%28watcherId%2C%20null%29%3B%0Aif%28%21watcher%29%20%7B%0Awatcher%20%3D%20%7B%0AREASON_STARTUP%3A%201%2C%0AREASON_SHUTDOWN%3A%202%2C%0AREASON_WINDOW_LOADED%3A%203%2C%0AREASON_WINDOW_CLOSED%3A%204%2C%0A%20%0Aget%20obs%28%29%20%7B%0Adelete%20this.obs%3B%0Areturn%20this.obs%20%3D%20Components.classes%5B%22@mozilla.org/observer-service%3B1%22%5D%0A.getService%28Components.interfaces.nsIObserverService%29%3B%0A%7D%2C%0Aget%20ww%28%29%20%7B%0Adelete%20this.ww%3B%0Areturn%20this.ww%20%3D%20Components.classes%5B%22@mozilla.org/embedcomp/window-watcher%3B1%22%5D%0A.getService%28Components.interfaces.nsIWindowWatcher%29%3B%0A%7D%2C%0Aget%20wm%28%29%20%7B%0Adelete%20this.wm%3B%0Areturn%20this.wm%20%3D%20Components.classes%5B%22@mozilla.org/appshell/window-mediator%3B1%22%5D%0A.getService%28Components.interfaces.nsIWindowMediator%29%3B%0A%7D%2C%0Ainit%3A%20function%28reason%29%20%7B%0Athis.obs.addObserver%28this%2C%20%22quit-application-granted%22%2C%20false%29%3B%0Avar%20ws%20%3D%20this.wm.getEnumerator%28null%29%3B%0Awhile%28ws.hasMoreElements%28%29%29%0Athis.initWindow%28ws.getNext%28%29%2C%20reason%29%3B%0Athis.ww.registerNotification%28this%29%3B%0A%7D%2C%0Adestroy%3A%20function%28reason%29%20%7B%0Athis.obs.removeObserver%28this%2C%20%22quit-application-granted%22%29%3B%0Avar%20ws%20%3D%20this.wm.getEnumerator%28null%29%3B%0Awhile%28ws.hasMoreElements%28%29%29%0Athis.destroyWindow%28ws.getNext%28%29%2C%20reason%29%3B%0Athis.ww.unregisterNotification%28this%29%3B%0A%7D%2C%0AinitWindow%3A%20function%28window%2C%20reason%29%20%7B%0A//%20Do%20something%20with%20window%0Awindow.addEventListener%28%22focus%22%2C%20checkNode%2C%20true%29%3B%0A%7D%2C%0AdestroyWindow%3A%20function%28window%2C%20reason%29%20%7B%0Aif%28reason%20%3D%3D%20this.REASON_WINDOW_CLOSED%29%0Awindow.removeEventListener%28%22load%22%2C%20this%2C%20false%29%3B%20//%20Window%20can%20be%20closed%20before%20%22load%22%20event%0A//%20Cleanup%0Awindow.removeEventListener%28%22focus%22%2C%20checkNode%2C%20true%29%3B%0A%7D%2C%0Aobserve%3A%20function%28subject%2C%20topic%2C%20data%29%20%7B%0Aif%28topic%20%3D%3D%20%22quit-application-granted%22%29%0Athis.destroy%28%29%3B%0Aelse%20if%28topic%20%3D%3D%20%22domwindowopened%22%29%0Asubject.addEventListener%28%22load%22%2C%20this%2C%20false%29%3B%0Aelse%20if%28topic%20%3D%3D%20%22domwindowclosed%22%29%0Athis.destroyWindow%28subject%2C%20this.REASON_WINDOW_CLOSED%29%3B%0A%7D%2C%0AhandleEvent%3A%20function%28e%29%20%7B%0Aswitch%28e.type%29%20%7B%0Acase%20%22load%22%3A%20this.loadHandler%28e%29%3B%20break%3B%0A%7D%0A%7D%2C%0AloadHandler%3A%20function%28e%29%20%7B%0Avar%20window%20%3D%20e.currentTarget%3B%0Awindow.removeEventListener%28%22load%22%2C%20this%2C%20false%29%3B%0Athis.initWindow%28window%2C%20this.REASON_WINDOW_LOADED%29%3B%0A%7D%0A%7D%3B%0AApplication.storage.set%28watcherId%2C%20watcher%29%3B%0Awatcher.init%28watcher.REASON_STARTUP%29%3B%0A%7D%0Afunction%20destructor%28reason%29%20%7B%0Aif%28reason%20%3D%3D%20%22update%22%20%7C%7C%20reason%20%3D%3D%20%22delete%22%29%20%7B%0Awatcher.destroy%28watcher.REASON_SHUTDOWN%29%3B%0AApplication.storage.set%28watcherId%2C%20null%29%3B%0A%7D%0A%7D%0Aif%28%0Atypeof%20addDestructor%20%3D%3D%20%22function%22%20//%20Custom%20Buttons%200.0.5.6pre4+%0A%26%26%20addDestructor%20%21%3D%20%28%22addDestructor%22%20in%20window%20%26%26%20window.addDestructor%29%0A%29%0AaddDestructor%28destructor%2C%20this%29%3B%0Aelse%0Athis.onDestroy%20%3D%20destructor%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%5Bokkamas_knife%0A%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
Нужна для индикации языка ввода. Перестала работать с тёмным полем для ввода на FF42, а может и раньше обновлял с 33 сразу на 42.
Без картинок не объяснить.
Буквы видны.
Тёмный фон поля ввода, буквы печатаются белым и не видны. Попробовать можно например тут (не расцените как рекламу ресурса.)
Возможно как-то исправить? Отключать на сайте по нажатию.
Отредактировано Mishania (25-12-2015 20:46:09)
Отсутствует
Mishania
Есть похожая кнопка:
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%3EKL%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABUAAAAQCAIAAAB2uKNyAAAAl0lEQVR42mNkoAwwAvH////J1AwEg0T/0/vWmXePMfBMmG6RL82wvX+P136wEkXl21FfVFtfMsCkCOv3Pn5CddEXoLhVnOXREG6Gk5cZSdAfx12w6CVCMxCQoh8B0qpdZpozkK+fgUF82yZdT5L1O+r9D/sKYZPlf5TwB3OfQPQjAaAdhWL49COcg4g//PoHOv1Rop8SAACkKJ0R5kMP6wAAAABJRU5ErkJggg%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5BgBrowser.currentURI.spec%20%3D%3D%20%22about%3Acustomizing%22%20%7C%7C%20%28%28%5Bimg%5D%29%20%3D%3E%20%7B%0A%0A%09var%20interval%20%3D%20500%3B%20//%20ms%0A%0A%09var%20imgEN%20%20%3D%20%22data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABUAAAAQCAIAAAB2uKNyAAAAlElEQVR42mNkoAwwAvH////J1AwEg0T/57XW+5YcQ5VOM10/kxcqDmJLAcVOpm/smAXjkqCfgcF+m3+BJ0H9MHtgANlc6Yr/JgzE268wwak/nwFFPM20guE0OfoVJmjIF9w4iOI1UtwPMkvtZqDXU0L6kYGVxpSjUifg+vN5oYFHtn4GhmcTGE8fxKZ/oNMfJfopAQDmnKYRpM4nUAAAAABJRU5ErkJggg%3D%3D%22%3B%0A%09var%20imgRU%20%20%3D%20%22data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABUAAAAQCAIAAAB2uKNyAAAAjklEQVR42mNkoAwwAvH////J1AwEg0L/CYagTnTJmMkMQdIMT9cx5C5hYFBgmNzHIM0A4zIwlK9jMMevH6KHgST9KHaCFcmQb789w7p8ct2vEMPQFwRikKYf6H7pNQydB7H4BcI9OREsCzUOq/8ZGIpyGR7Awk/6KYyLxXWEwg+qDtUIuNcGUfqjTD8lAABRE34RggBENwAAAABJRU5ErkJggg%3D%3D%22%3B%0A%09var%20imgERR%20%3D%20%22data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABUAAAAQCAIAAAB2uKNyAAAAc0lEQVR42mNkoAwwAvH////J1AwEg0n/nYnWqgXHoJJp2/7P9MQliE3/9nRGr1nIxltNuH1UrRuLYL4KFv1Q7SB5760QK9O2bWPwwhSEOwG7/+EORnYsVkEs+onXjFU/VCWyJ3EI0ib+KbV/oN1Pln5KAACv6I0Rg3TeKQAAAABJRU5ErkJggg%3D%3D%22%3B%0A%0A%09var%20data%20%3D%20%7B67699721%3A%20imgEN%2C%2068748313%3A%20imgRU%7D%3B%0A%0A%09var%20%7Bctypes%7D%20%3D%20Cu.import%28%22resource%3A//gre/modules/ctypes.jsm%22%2C%20%7B%7D%29%3B%0A%09var%20lib%20%3D%20ctypes.open%28%22user32.dll%22%29%3B%0A%09var%20method%20%3D%20lib.declare%28%22GetKeyboardLayout%22%2C%20ctypes.winapi_abi%2C%20ctypes.uint32_t%2C%20ctypes.uint32_t%29%3B%0A%0A%09var%20currentLayout%2C%20layout%3B%0A%09function%20tick%28%29%20%7B%0A%09%09if%20%28%28layout%20%3D%20method%280%29%29%20%3D%3D%20currentLayout%29%20return%3B%0A%09%09currentLayout%20%3D%20layout%3B%20img.src%20%3D%20data%5Blayout%5D%20%7C%7C%20imgERR%3B%0A%09%7D%0A%09tick%28%29%3B%20var%20id%20%3D%20setInterval%28tick%2C%20interval%29%3B%0A%09addDestructor%28%28%29%20%3D%3E%20clearInterval%28id%29%20%7C%7C%20lib.close%28%29%29%3B%0A%0A%09//this._handleClick%20%3D%20%28%29%20%3D%3E%20alert%28method%280%29%29%3B%0A%0A%7D%29%28document.getAnonymousNodes%28this%29%29%3B%0A%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
Отсутствует
bunda1
Их в одну объединить и вообще отлично будет. А так у меня рядом с часами тоже пишется какой язык включен, все понты как раз в цвете заключаются.
А ты замени изображения imgEN, imgRU, imgERR в коде инициализации кнопки на цветные и все дела.
Отсутствует
bunda1
Мы наверно не поняли друг друга. Предложенная мной кнопка изменяет цвет подсветки текстового поля, ваша меняет индикатор ru-en. Индикатор я могу посмотреть в системном трее, а к подсветке я привык. Но если к моей кнопки прикрутить вашу, то получится совсем красиво.
Но я так понимаю что исправить неудобства с цветом букв в моей кнопке не представляется возможным, так может можно добавить возможность вкл-вкл по нажатию?
"Моя кнопка" значит не "сделана мной", а "найдена мной где-то на форуме".
Отсутствует
Есть у кого актуальная кнопка с таким описанием?
*на форуме forum.mozilla-russia.org если в сообщении в секции код попадается такое:
custombutton://%3C%3F... - то бишь текст ссылки для установки СВ кнопки
то превращает его в ссылку и показывает иконку этой кнопки
У меня уже не работает
if (doc.location.host=="forum.mozilla-russia.org"){
var boxes = [];
var pres = doc.getElementsByTagName("pre");
for(var i = 0, l = pres.length; i < l; ++i) {
var pre = pres[i];
if(pre.parentNode.parentNode.parentNode.className == "codebox")
boxes.push(pre);
}
for(var i = 0, l = boxes.length; i < l; ++i) {
var box = boxes[i];
if(box.hasAttribute("data-highlight-js-parsed"))
continue;
box.setAttribute("data-highlight-js-parsed", "true");
// Special "codes"
var tc = box.textContent;
if(
/^custombutton:\/\/\S+%3C\/custombutton%3E\s*$/.test(tc)
|| /^data:[\w-]+\/[\w-]+;base64,\S+\s*$/.test(tc)
) {
tc = tc.replace(/\s+$/, "");
var a = doc.createElement("a");
a.href = tc;
var icon;
if(/^data:image\//.test(tc))
icon = tc;
else if(
/^custombutton:\/\//.test(tc)
&& /%3Cimage%3E%3C%21%5BCDATA%5B(data%3A\S+)%5D%5D%3E%3C\/image%3E/.test(tc)
)
try { icon = decodeURIComponent(RegExp.$1); } catch(e) {}
if(icon) {
var img = doc.createElement("img");
img.src = icon;
img.alt = "";
var s = img.style;
s.marginRight = "4px";
s.verticalAlign = "middle";
a.appendChild(img);
}
a.appendChild(doc.createTextNode(tc));
var s = a.style;
s.background = "none";
s.margin = s.padding = 0;
box.innerHTML = "";
box.appendChild(a);
continue;
}
}
}
},
true,
document.getElementById("appcontent")
);
Отредактировано Kiril__777 (03-01-2016 03:05:10)
Отсутствует
Есть две разные кнопки для добавления в закладки
1 - PlacesCommandHook.bookmarkCurrentPage(true, PlacesUtils.toolbarFolderId);
2 - PlacesCommandHook.bookmarkLink(PlacesUtils.bookmarksMenuFolderId, content.location.href, content.document.title);
Вторая мне кажется удобней, но в первой есть замечательный пункт "удалить закладку". Можно их как-то объеденить?
PS. Маленько покопался и получился у меня вот такой монстр. Ка бы его сделать по уму? Чтоб осталась ЛКМ - открыть в боковой панели, а СКМ - объеденённая из двух кодов "добавить в закладки".
this.tooltipText = "L=Bookmarks Manager"; this. onclick = function (event) { if (event. button == 0) toggleSidebar('viewBookmarksSidebar'); if (event. button == 2) PlacesCommandHook.bookmarkCurrentPage(true, PlacesUtils.toolbarFolderId); if (event. button == 1) PlacesCommandHook.bookmarkLink(PlacesUtils.bookmarksMenuFolderId, content.location.href, content.document.title); };
Отредактировано Mishania (03-01-2016 23:52:03)
Отсутствует
bunda1
Точно, у меня этот код был не правильно использован
Отсутствует
Вторая мне кажется удобней
А что там удобней?
Добавлено 04-01-2016 13:44:12
А если так:
this.onclick =e=> { e.button == 0 && toggleSidebar('viewBookmarksSidebar'); if ( e.button == 1 ) { PlacesCommandHook.bookmarkPage(gBrowser, undefined, true); var panel = document.getElementById("editBookmarkPanel"); addEventListener("popupshown", function c() { removeEventListener("popupshown", c); panel.moveTo(e.screenX, e.screenY); document.getElementById('editBMPanel_foldersExpander').click(); }); } }; this.tooltipText = "Л: Переключить боковую панель \nС: Добавить закладку \nП: CB Меню";
Отредактировано bunda1 (04-01-2016 13:44:12)
Отсутствует
bunda1
Не появлется "дбавить в закладки".
Спасибо за вашу работу, благодаря вам использование браузера намного приятней, у меня наверно штук 10 кнопок сделаных вами. С праздниками вас!
А что там удобней?
Появляется окошко не в углу, а посредине экрана, возможность добавить описание, краткое имя, галочка "загружать в боковой панели". Из минусов - не появлется "удалить закладку" если такая уже существует. Мне бы хотя-бы в моей поделке сделать чтоб меню кнопки открывалось по ктрл+пкм, или шифт+пкм и нормально. Раньше помнится были ссылки на примеры, а теперь всё куда-то делось.
Отсутствует
bunda1
Не появлется "дбавить в закладки".
Упс
this.onclick =e=> { e.button == 0 && toggleSidebar('viewBookmarksSidebar'); if ( e.button == 1 ) { PlacesCommandHook.bookmarkCurrentPage(true, PlacesUtils.toolbarFolderId); var panel = document.getElementById("editBookmarkPanel"); addEventListener("popupshown", function c() { removeEventListener("popupshown", c); panel.moveTo(e.screenX, e.screenY); document.getElementById('editBMPanel_foldersExpander').click(); }); } }; this.tooltipText = "Л: Переключить боковую панель \nС: Добавить закладку \nП: CB Меню";
Добавлено 04-01-2016 21:13:53
Мне бы хотя-бы в моей поделке сделать чтоб меню кнопки открывалось по ктрл+пкм, или шифт+пкм и нормально.
this.onclick =e=> { e.button == 0 && toggleSidebar('viewBookmarksSidebar'); e.button == 1 && PlacesCommandHook.bookmarkLink(PlacesUtils.bookmarksMenuFolderId, content.location.href, content.document.title); if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) { e.preventDefault(); PlacesCommandHook.bookmarkCurrentPage(true, PlacesUtils.toolbarFolderId); } }; this.tooltipText = "Л: Переключить боковую панель \nС: Добавить закладку \nП: Добавить закладку";
Добавлено 04-01-2016 21:20:57
Из минусов - не появлется "удалить закладку" если такая уже существует
можно при нажатии СКМ автоматически удалить уже существующии закладки:
this.onclick =e=> { e.button == 0 && toggleSidebar('viewBookmarksSidebar'); if ( e.button == 1 ) { BookmarkingUI._itemIds.forEach((id,i)=> setTimeout(()=> PlacesUtils.bookmarks.removeItem(id), 10*i) ); PlacesCommandHook.bookmarkLink(PlacesUtils.bookmarksMenuFolderId, content.location.href, content.document.title); } }; this.tooltipText = "Л: Переключить боковую панель \nС: Добавить закладку \nП: Добавить закладку";
Отредактировано bunda1 (04-01-2016 21:20:57)
Отсутствует
Чтоб осталась ЛКМ - открыть в боковой панели, а СКМ - объеденённая из двух кодов "добавить в закладки".
this.onclick =e=> { e.button == 0 && toggleSidebar('viewBookmarksSidebar'); if ( e.button == 1 ) { PlacesCommandHook.bookmarkLink(PlacesUtils.bookmarksMenuFolderId, content.location.href, content.document.title); function observer(subject) { Services.ww.unregisterNotification(observer); subject.addEventListener("load", function c(e) { subject.removeEventListener("load", c); var doc = e.target; doc.getElementById('editBMPanel_foldersExpander').click(); if ( BookmarkingUI.status == 0 ) return; var but = doc.createElement("button"); but.setAttribute("label", "Удалить существующие закладки"); doc.getElementById('bookmarkproperties').appendChild(but); but.onclick =()=> { but.remove(); BookmarkingUI._itemIds.forEach((id,i)=> setTimeout(()=> PlacesUtils.bookmarks.removeItem(id), 10*i) ); }; }); }; Services.ww.registerNotification(observer); } }; this.tooltipText = "Л: Переключить боковую панель \nС: Добавить закладку \nП: CB Меню";
Отсутствует