Добавлено 02-07-2012 17:03:13
Нее, такой не было! Были текстовые кнопки (без иконок погоды) от okkamas_knife и все...
а , ну да - они текстовые
Отредактировано Крошка Ру (02-07-2012 17:03:13)
Отсутствует
переключает на единый масштаб для всех страниц (красный цвет), переключает, но не работает на всех страницах, сбрасывается.
Спасибо, завтра попробую исправить.
У тебя на картинке Memory Monitor справа от Zoom+2? А то у меня Memory Monitor ставится слева от Изменить масштаб.
Отчего зависит расположение этих кнопок?
Слева будет код который раньше запустится(инициализируется).
Положи коды Memory Monitor и Изменить масштаб(Firefox 3.6 +) в одну кнопку и код Memory Monitor должен быть за кодом Изменить масштаб(Firefox 3.6 +).
Отсутствует
bunda1 спасибо за твой труд и время.
Есть такая кнопка Догрузка не загруженных картинок
Код:
Отсутствует
Возможно ли чтобы она работала из контекстного меню?
Но во всех КМ она не нужна.
Наверно она нужна только в КМ страницы, что скажешь?
Могу сделать код который добавит новый пункт Догрузка не загруженных картинок в контекстное меню, но без гарантии что всегда будет срабатывать. Конкретно, где в меню добавить.
Что такое КМ страницы ?
Отсутствует
bunda1 КМ - контекстное меню По аналогии с ЛКМ, ПКМ, СКМ - клавиши мыши
А куда добавить это я не знаю. По смыслу что-то связанное с картинками в КМ. Где-то в центре.
Отсутствует
bunda1 почему?
Отсутствует
Attributes Inspector 0.6.0pre2 (2012-07-04) (осторожно, это тестовая версия!)
+ Добавлена подсветка добавленных и измененных атрибутов и отображение удаленных атрибутов (учитываются только изменения для текущего узла, при переходе к другому узлу история изменений теряется).
- Удалены больше не требующиеся хаки для принудительной перерисовки в Firefox 16.0a1.
Добавлено 04-07-2012 19:35:45
Attributes Inspector 0.6.0pre3 (2012-07-04) (осторожно, это тестовая версия!)
x Исправлена обработка изменений атрибутов (ранее ошибочно учитывались изменения в дочерних узлах).
Отредактировано Infocatcher (04-07-2012 19:35:45)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Infocatcher
Attributes Inspector 0.6.0pre3 (2012-07-04) а что за тултипы в консоли ошибок, типа:
[Attributes Inspector]: Forbid tooltip showing: <tooltip> "Session Bookmarks button"
Отсутствует
bunda1
Это я отладочный режим не отключил.
В самом начале можно выставить
А так это срабатывает блокировщик всплывающих подсказок.
Можно или зажать Shift для исследования всплывающих подсказок, или отключить вообще:
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
bunda1 По этим вопросам хотелось бы уточнить
02-07-2012 02:52:16
02-07-2012 21:51:36
Отсутствует
skynet281978
Да вот с кнопкой Изменить масштаб дела шли медленно.
Попробуй:
// Изменить масштаб ........................................................ // Объявляем 'prefs'.... var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService); //проверить наличие строк в about:config и создать если не существует... if ( !custombuttons.isPref("zoom.allEvenly") ) { prefs.setBoolPref("zoom.allEvenly", false); prefs.setBoolPref("browser.zoom.siteSpecific", true); }; var ucjs_zoom = { // Инициализации.... init: function() { // Zoom var _cmd = "prefs.setCharPref('zoom.Percent', ZoomManager.zoom.toFixed(2)); ucjs_zoom.updateZoom(); $&"; // toggleZoom eval("ZoomManager.toggleZoom = " + ZoomManager.toggleZoom.toString().replace(/}$/, _cmd)); // reset eval("FullZoom.reset = " + FullZoom.reset.toString().replace(/}$/, _cmd)); // enlarge eval("FullZoom.enlarge = " + FullZoom.enlarge.toString().replace(/}$/, _cmd)); // reduce eval("FullZoom.reduce = " + FullZoom.reduce.toString().replace(/}$/, _cmd)); // onLocationChange var __cmd = "setZoom(event); ucjs_zoom.updateZoom(); $&"; eval("FullZoom.onLocationChange = " + FullZoom.onLocationChange.toString().replace(/}$/, __cmd)); // _handleMouseScrolled eval("FullZoom._handleMouseScrolled = " + FullZoom._handleMouseScrolled.toString().replace(/}$/, _cmd)); // Создаем кнопку и присваиваем атрибуты.............. var zoomPanel = document.createElement("statusbarpanel"); zoomPanel.setAttribute("id", "ucjs_zoom_statuslabel"); zoomPanel.setAttribute("context", "event.stopPropagation()"); zoomPanel.setAttribute("onclick", "event.stopPropagation(); ZoomClick(event)"); var text = "L: менять масштаб страницы / только текста\nM: единый масштаб для всех страниц / для сайта \nR: сбросить масштаб на 100% "; zoomPanel.setAttribute("tooltiptext", text); // перемещаем кнопку в адресную строку var urlbar = document.getElementById("urlbar-icons"); var go = urlbar.lastChild; urlbar.insertBefore(zoomPanel, go); //... ucjs_zoom.updateZoom(); // Меняем масштаб колесиком мыши на кнопке.............. zoomPanel.addEventListener("DOMMouseScroll", function(event) { if ( event.detail > 0) FullZoom.reduce(); else FullZoom.enlarge(); }, false); // Настройка функций кликов мыши на кнопке.............. ZoomClick = function(event) { // левым кликом на кнопке if ( event.button == 0 ) { // менять масштаб страницы или только текста document.getElementById("cmd_fullZoomToggle").doCommand(); }; // средним кликом на кнопке if ( event.button == 1) { //переключаем настройки в about:config(toggle preference) //переключаем единый масштаб для всех страниц /для сайта var sZoom = "zoom.allEvenly"; custombuttons.setPrefs(sZoom, !custombuttons.getPrefs(sZoom)); prefs.setCharPref("zoom.Percent", ZoomManager.zoom.toFixed(2)); // Запускаем функцию ucjs_zoom.updateZoom(); }; // правым кликом на кнопке if ( event.button == 2) { //сбросить масштаб на 100% FullZoom.reset(); }; } // Устанавливаем единый масштаб для всех страниц если это разрешено в 'about:config'.... setZoom = function(event) { Services.console.logStringMessage('setZoom '); if ( prefs.getBoolPref ("zoom.allEvenly") ) { var Z_value = custombuttons.getPrefs("zoom.Percent"); if (ZoomManager.zoom.toFixed(2) == Z_value) return; getBrowser().markupDocumentViewer.fullZoom = Z_value; getBrowser().markupDocumentViewer.textZoom = Z_value; } } }, // обновить статус кнопки..... updateZoom: function(){ var Zoom = document.getElementById("ucjs_zoom_statuslabel"); Zoom.setAttribute("label", Math.floor((ZoomManager.zoom + 0.005) * 100) + "%"); Zoom.style.fontWeight = ZoomManager.useFullZoom ? '':'bold'; Zoom.style.color = prefs.getBoolPref ("zoom.allEvenly")? "red": ""; // стиль для кнопки.... Zoom.style.MozAppearance = "none"; Zoom.style.border = "0px"; //Zoom.style.marginRight = "-12px"; } }; //Запускаем функцию........................ if (!document.getElementById("ucjs_zoom_statuslabel")) { ucjs_zoom.init() };
Отсутствует
bunda1
Перезапустил браузер, вроде всё работает.
Если возможно добавить в исключения:
about:addons - менеждер дополнений
chrome://fastdial/content/fastdial.html (страница дополнения Fastdial) или лучше chrome://fastdial/* - как лучше посоветуй.
about:home (страница с крупными кнопками увеличивать масштаб нет смысла)
может все aboutы добавить? я не особо разбираюсь на свой взгляд реши что нужно ещё.
Отредактировано skynet281978 (05-07-2012 13:21:10)
Отсутствует
bunda1
, 16.0* , в кнопке Save не работают опции :
Save Favicon - не сохраняет иконку сайта,
Favicon copied to base64- не сохраняет иконку сайта в буфере обмена как код base64.
а кнопка Просмотр и сохранение иконок сайтов не функционирует
... да-да, это я читал > (Firefox 3.6 - 6 ) ,(Firefox3.6-5.0)
Отредактировано Крошка Ру (05-07-2012 09:52:49)
Отсутствует
Если возможно добавить в исключения:
chrome://fastdial/content/fastdial.html (страница дополнения Fastdial) и все aboutы
Изменить масштаб
// Изменить масштаб ........................................................ // Объявляем 'prefs'.... var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService); //проверить наличие строк в about:config и создать если не существует... if ( !custombuttons.isPref("zoom.allEvenly") ) { prefs.setBoolPref("zoom.allEvenly", false); prefs.setBoolPref("browser.zoom.siteSpecific", true); }; var ucjs_zoom = { // Инициализации.... init: function() { // Zoom var _cmd = "prefs.setCharPref('zoom.Percent', ZoomManager.zoom.toFixed(2)); ucjs_zoom.updateZoom(); $&"; // toggleZoom eval("ZoomManager.toggleZoom = " + ZoomManager.toggleZoom.toString().replace(/}$/, _cmd)); // reset eval("FullZoom.reset = " + FullZoom.reset.toString().replace(/}$/, _cmd)); // enlarge eval("FullZoom.enlarge = " + FullZoom.enlarge.toString().replace(/}$/, _cmd)); // reduce eval("FullZoom.reduce = " + FullZoom.reduce.toString().replace(/}$/, _cmd)); // onLocationChange var __cmd = "setZoom(getBrowser().currentURI.spec); ucjs_zoom.updateZoom(); $&"; eval("FullZoom.onLocationChange = " + FullZoom.onLocationChange.toString().replace(/}$/, __cmd)); // _handleMouseScrolled eval("FullZoom._handleMouseScrolled = " + FullZoom._handleMouseScrolled.toString().replace(/}$/, _cmd)); // Создаем кнопку и присваиваем атрибуты.............. var zoomPanel = document.createElement("statusbarpanel"); zoomPanel.setAttribute("id", "ucjs_zoom_statuslabel"); zoomPanel.setAttribute("context", "event.stopPropagation()"); zoomPanel.setAttribute("onclick", "event.stopPropagation(); ZoomClick(event)"); var text = "L: менять масштаб страницы / только текста\nM: единый масштаб для всех страниц / для сайта \nR: сбросить масштаб на 100% "; zoomPanel.setAttribute("tooltiptext", text); // перемещаем кнопку в адресную строку var urlbar = document.getElementById("urlbar-icons"); var go = urlbar.lastChild; urlbar.insertBefore(zoomPanel, go); //... ucjs_zoom.updateZoom(); // Меняем масштаб колесиком мыши на кнопке.............. zoomPanel.addEventListener("DOMMouseScroll", function(event) { if ( event.detail > 0) FullZoom.reduce(); else FullZoom.enlarge(); }, false); // Настройка функций кликов мыши на кнопке.............. ZoomClick = function(event) { // левым кликом на кнопке if ( event.button == 0 ) { // менять масштаб страницы или только текста document.getElementById("cmd_fullZoomToggle").doCommand(); }; // средним кликом на кнопке if ( event.button == 1) { //переключаем настройки в about:config(toggle preference) //переключаем единый масштаб для всех страниц /для сайта var sZoom = "zoom.allEvenly"; custombuttons.setPrefs(sZoom, !custombuttons.getPrefs(sZoom)); prefs.setCharPref("zoom.Percent", ZoomManager.zoom.toFixed(2)); // Запускаем функцию ucjs_zoom.updateZoom(); }; // правым кликом на кнопке if ( event.button == 2) { //сбросить масштаб на 100% FullZoom.reset(); }; } // Устанавливаем единый масштаб для всех страниц если это разрешено в 'about:config'.... setZoom = function(currUrl) { if ( prefs.getBoolPref ("zoom.allEvenly") ) { var Z_value = custombuttons.getPrefs("zoom.Percent"); if (ZoomManager.zoom.toFixed(2) == Z_value) return; if (currUrl.substring(0,6)== 'about:' || currUrl.substring(0,17) =='chrome://fastdial') return; //... getBrowser().markupDocumentViewer.fullZoom = Z_value; getBrowser().markupDocumentViewer.textZoom = Z_value; } } }, // обновить статус кнопки..... updateZoom: function(){ var Zoom = document.getElementById("ucjs_zoom_statuslabel"); Zoom.setAttribute("label", Math.floor((ZoomManager.zoom + 0.005) * 100) + "%"); Zoom.style.fontWeight = ZoomManager.useFullZoom ? '':'bold'; Zoom.style.color = prefs.getBoolPref ("zoom.allEvenly")? "red": ""; // стиль для кнопки.... Zoom.style.MozAppearance = "none"; Zoom.style.border = "0px"; //Zoom.style.marginRight = "-12px"; } }; //Запускаем функцию........................ if (!document.getElementById("ucjs_zoom_statuslabel")) { ucjs_zoom.init() };
Если хочешь исключения только для about:addons - about:home - Fastdial.
Замени в коде
if (currUrl.substring(0,6)== 'about:' || currUrl.substring(0,17) =='chrome://fastdial') return;
на
if (currUrl== 'about:addons' || currUrl== 'about:home' || currUrl.substring(0,17) =='chrome://fastdial') return;
Отредактировано bunda1 (05-07-2012 20:29:01)
Отсутствует
Attributes Inspector 0.6.0pre5 (2012-07-05) (осторожно, это тестовая версия!)
0.6.0pre5 (2012-07-05)
* Удаленные атрибуты теперь тоже сортируются и выводятся в общем списке.
* Добавлено отображение пространства имен удаленных атрибутов (будет показано только при отличии от пространства имен DOM-узла).
x При подсветке измененных атрибутов не учитывалось пространство имен.
0.6.0pre4 (2012-07-04)
* Для отслеживания изменения атрибутов теперь используется более производительный MutationObserver (Firefox 14 и выше).
* Блокировщик всплывающих подсказок и меню отключается только при закрытии окна DOM Inspector'а, открытого после запуска блокировщика.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Attributes Inspector 0.6.0pre6 (2012-07-05) (осторожно, это тестовая версия!)
x Блокировщик всплывающих подсказок и меню работал только в окне, из которого был запущен Attributes Inspector.
* Улучшена производительность при работе с MutationObserver'ом.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Подскажите пожалуйста, как разграничить активные и неактивные кнопки в этом фрагменте кода (как например в кнопке FF Exp Imp CB):
this.Tload = function() { var aList = [], node = /custombuttons-button\d+/; var nodeList = document.getElementsByClassName("toolbarbutton-1 chromeclass-toolbar-additional"); for(var i = 0; i < nodeList.length; i++) if(nodeList[i].id.match(node)) aList.push(nodeList[i]); var nodeList = custombuttons.palette.getElementsByClassName("toolbarbutton-1 chromeclass-toolbar-additional"); for(var i = 0; i < nodeList.length; i++) if(nodeList[i].id.match(node)) aList.push(nodeList[i]); aList.sort(function (a, b) { a = a.getAttribute("label"); b = b.getAttribute("label"); if(a < b) return -1; if(a > b) return 1; return 0; }) for(var i = 0; i < aList.length; i++) createItem(aList[i]); function createItem(button) { var item = document.createElement("listitem"); item.checked = false; item.setAttribute("style", uncheckStyle); item.setAttribute("value", button.id); var cell = document.createElement("listcell"); cell.setAttribute("class", "listcell-iconic"); cell.setAttribute("image", button.getAttribute("image") || getImage(button.getAttribute("cb-stdicon"))); cell.setAttribute("label", button.getAttribute("name") || button.getAttribute("label") || ""); item.appendChild(cell); dialog2.document.getElementById("listbox").appendChild(item); } function getImage(s) { if (s == "custombuttons-stdicon-1") return "chrome://custombuttons/skin/button.png"; if (s == "custombuttons-stdicon-2") return "chrome://custombuttons/skin/stdicons/rbutton.png"; if (s == "custombuttons-stdicon-3") return "chrome://custombuttons/skin/stdicons/gbutton.png"; if (s == "custombuttons-stdicon-4") return "chrome://custombuttons/skin/stdicons/bbutton.png"; return defaultFavicon; } dialog2.document.getElementById("listbox").focus(); dialog2.document.getElementById("listbox").selectAll(); }
Отредактировано Andrey_Krropotkin (05-07-2012 22:31:39)
Отсутствует
Andrey_Krropotkin
var nodeList = document.getElementsByClassName("toolbarbutton-1 chromeclass-toolbar-additional"); // Активные кнопки
for(var i = 0; i < nodeList.length; i++) if(nodeList[i].id.match(node)) aList.push(nodeList[i]);
var nodeList = custombuttons.palette.getElementsByClassName("toolbarbutton-1 chromeclass-toolbar-additional"); // Кнопки в «палитре»
for(var i = 0; i < nodeList.length; i++) if(nodeList[i].id.match(node)) aList.push(nodeList[i]);
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
bunda1
попробую описать как меняется масштаб страниц в Изменить масштаб
Увеличиваю масштаб на сайте #1 до 120%
При этом в адресной строке Изменить масштаб отображается чёрным, то есть для одного сайта все страницы будут увеличены.
Затем перехожу на сайт №2, ставлю общее увеличение для всех сайтов (когда % красные).
Увеличиваю масштаб до 133% (не важно сколько %). Теперь сайт №1 и №2 имеют масштаб 133%.
Проверяю это на обоих сайтах и страницах этих сайтов.
Затем на сайте №2 сбрасываю общий масштаб до 100% (красным %)
Проверяю сайт №1, убеждаюсь, что масштаб 100% (красные %)
Перехожу на сайт №2 отключаю общее масштабирование (теперь % чёрные)
Перехожу на сайт №1 и вижу, что масштаб как и был в самом начале 120%
Вопрос - так и должно быть?
Отредактировано skynet281978 (05-07-2012 23:33:48)
Отсутствует
okkamas_knife Приведите пожалуйста пример разделителя между алист и блист.
Отсутствует