То есть, надо смотреть в код этого самого chrome://global/content/bindings/general.xml#root-element, а из DOM Inspector этого не увидишь.
Опять ты за свое :)
Чтобы увидеть, что XBL не создает какой-то анонимный узел, не обязательно смотреть его код.
Вот смотри: http://s020.radikal.ru/i716/1401/af/303dc47b8da2.png
Слева - toolbarbutton с анонимными xul:toolbarbutton и xul:dropmaker, справа - соответствующий xbl chrome://global/content/bindings/toolbarbutton.xml#menu-button с xul:toolbarbutton и xul:dropmaker в содержимом.
А вот: http://s019.radikal.ru/i614/1401/35/d6120a8c88c6.png слева window с анонимными popupgroup и tooltip, а справа - chrome://global/content/bindings/general.xml#root-element, но в контенте у него пусто.
Но можно и код посмотреть, на скриншотах виден соответствующий пункт контекстного меню.
…Гм. На снимках экрана я этого не вижу…
Нежелание топикстартера видеть очевидные вещи понятно с первых сообщений, так что неудивительно.
Вот в документах chrome://navigator/content/navigator.xul или chrome://browser/content/browser.xul у элемента window есть анонимные дочерние узлы popupgroup и tooltip. К этому элементу window привязан xbl chrome://global/content/bindings/general.xml#root-element, в котором не определяются ни popupgroup, ни tooltip. Вывод - похоже, что анонимные узлы создаются не одним только xbl.
А в DOM Inspector это где-нибудь можно увидеть?
Можно.
http://i024.radikal.ru/1401/34/31e26224b365.png
http://s019.radikal.ru/i627/1401/fd/28354c4002be.png
Если верить DOM Inspector, для элемента tooltip вроде какие-то XBL-связки есть.
Для привязки к элементам tooltip XBL-связки есть. А "исходников", которые создают анонимные элементы tooltip в элементах window и page - нет.
Вот эти image и label, которых не было в исходном коде, и будут анонимными
Если верить справке, то особенное отличие анонимных узлов не в том, что они определяются где-то в другом месте, а в том, что они находятся в другой области видимости, их родительские элементы о них ничего не знают, и к ним поэтому нельзя получить доступ обычными способами через childNodes, firstChild-nextSibling и т. п. И, похоже, что эти анонимные элементы хотя и по большей части, но не обязательно определяются через XBL. Например в элементах window и page есть анонимные элементы popupgroup и tooltip, также встречаются анонимные узлы _moz_generated_content_before/after, а XBL "исходников" для них в omni.ja не находится.
Предлагаю открепить некоторые прикрепленные темы из "Разработки". Например Инструменты разработчика XUL+JS, Русская документация по Веб-разработке, Русская документация по разработке на XUL. В них, возможно, некоторые ссылки устарели или испортились; постоянно кто-то проверять их целостность и актуальность вряд ли кто будет; проще их открепить заранее, не дожидаясь пока они полностью не придут в негодность.
Anton
Спасибо, на русском читать куда приятней. Но понятно далеко не всё, многие понятия объясняются через другие понятия, которые тоже не понятны. Поэтому в моём случае начинать нужно с чего-то для полных чайников.
Отдельное спасибо за ссылку на тему с русской документацией, возможно, там я сумею найти то, что нужно. Хотя многие ссылки уже битые (по одной, например, предлагают оптом купить носки :D)…
Там термины, а тут носки, ситуация практически безвыходная.
Все же с носками надо попробовать что-нибудь сделать.
То есть, если я правильно понял, эти элементы берутся не из основного кода, а из из другого места (XBL?).
Ну, если считать "original document" "основным кодом", то, наверное, можно и так сказать.
А можно хотя бы в двух словах пояснить, что такое bindings и зачем они нужны? Я прочёл справку,
В справке написано
The bindings element is the root element of any XBL document.
...
bindings contains zero or more binding elements as children.
но, честно говоря, всё равно не очень понял.
Вот ссылка, может по прочтении будет понятней: http://www.intuit.ru/studies/courses/11 … cture/5552. Кстати, в теме [url=http://forum.mozilla-russia.org/viewtopic.php?pid=217911#p217911]Русская доку
…Почему в DOM Inspector некоторые элементы красного цвета? Они чем-то отличаются от обычных?
Why do some nodes in the Document DOM Nodes viewer appear in red?
These nodes are anonymous content nodes, meaning they are not in the DOM generated by the original document.
https://developer.mozilla.org/ru/docs/DOM_Inspector/DOM_Inspector_FAQ
Доброго времени суток!
Подскажите, пожалуйста, возможно ли реализовать и как по нажатию кнопки в thunderbirde отправку открытого письма и выставление метки?
Определить какой пользователь запустил thunderbird и выставить метку с его именем на письме.
Можно определить какой пользователь запустил thunderbird и ставить метки с его именем на письмах:
var env = Components. classes ["@mozilla.org/process/environment;1"]. createInstance (Components. interfaces. nsIEnvironment); var user = env. get ("USER"); var tagService = Components. classes["@mozilla.org/messenger/tagservice;1"]. getService (Components. interfaces. nsIMsgTagService); tagService. addTag (user, "#33CC00", ""); ToggleMessageTag (user, true);
Распорка для Australis'а: http://custombuttons.sourceforge.net/fo … f=2&t=1222
Большое спасибо.
А вы не вызывайте функцию rgb. Пусть её eval вызывает.
Как можно передать в функцию свои аргументы
Выделить кодКод:
function rgbToHex(r, g, b) { var rgb = b | (g << 8) | (r << 16); return ((b | g << 8 | r << 16) / 0x1000000).toString(16).substring(2); }если они у меня в виде rgb(111, 222, 333) и они меняются?
Тут просто eval просится:
function rgb (r, g, b) { return ((b | g << 8 | r << 16) / 0x1000000). toString (16). substring (2); } var s = "rgb(111,222,333)"; var r = eval (s);
Караул :o, заметил глюк на FF24 + custombuttons-0.0.5.7pre1-20130923
Если в кнопке которое открывает меню есть строка this.type = "menu-button" код кнопки инициализируется два раза и все обработчики дублируются.
Попробуйте новую сборку custombuttons-0-0-5-7pre2-20131103
при открытии настройки панелей обработчики в кнопке дублируются и это ни как не блокируется.
После редактирования кнопки, обработчики, установленные с помощью addEventListener не удаляются, есть что-то такое, буду смотреть.
Да но обработчики дублируются и addDestructor не помогает, проверь:
Деструкторы срабатывают при удалении кнопки, тут тоже вроде ничего нового.
Если в кнопке которое открывает меню есть строка this.type = "menu-button" код кнопки инициализируется два раза и все обработчики дублируются.
Если мне память не изменяет, так было всегда. Когда меняется тип кнопки, меняется привязка и срабатывает её конструктор.
И, может быть, заодно про такой вот сущий пустяк - cbu.writeFile
Спасибо, исправлю.
Когда закрываешь внешний редактор в консоле появляется вот такое предупреждение (если javascript.options.strict = true):Выделить кодКод:Warning: ReferenceError: assignment to undeclared variable istr
Source File: chrome://custombuttons/content/editExternal.js
Line: 157
2k1dmg пишет: assignment to undeclared variable istrОпечатка.Вроде вот ещё одна.Может кто похлопочет...
Спасибо за замечания, исправил.
http://sourceforge.net/p/custombuttons/code/ci/e743ec09d89ccc59c7b91088ffbf3fd597b5bc67/
http://sourceforge.net/p/custombuttons/code/ci/1353740fb2f4b8e2d6a4f0efb21ec8076ea5e458/
Да, что-то "on of these days" явно затянулось :(
Извините, быстрее не получается. :blush:
…Как мне кажется addEventListener одинокий и как таковой
уже любезно переопределён автором Custom Buttons.
Нет, не так. addEventListener — это функция, и она не переопределяет одноимённый метод DOM'овских объектов, а определяется вместе с кодом кнопки всякий раз, как он выполняется, так же, как если бы её код был записан вместе с кодом кнопки.
в custombuttons-0.0.5.6pre4-20130127.xpi лишние обработчики теперь сами удаляются?
Обработчики, которые ставятся с помощью функции (не метода) addEventListener, автоматически снимаются при удалении, редактировании или обновлении кнопки.
Ну вот уже первый глюк на custombuttons-0.0.5.6pre4-20130127 по ПКМ открывается у каждой кнопки все меню кнопок сразу, но после нескольких рестартов пропадает, такое уже было на старом профиле но после перехода на новый пропала и вот после обновления CB опять вылезло. Ну что за дела.
Кажется, я этот баг если и исправлю, то только случайно.
Ну вот уже второй глюк на custombuttons-0.0.5.6pre4-20130127, если сделать двойной ЛКМ в менеджере кнопок менеджер расширений переключается на получение расширений.
Спасибо, исправлю.
Новый менеджере кнопок на custombuttons-0.0.5.6pre4-20130127 разочаровал, я уже было подумал что можно будет там запускать коды без кнопок как в раширении Stylish, но таково нет. Но надеюсь что все это еще будет.
Не надейтесь :-) Custom Buttons выполняет код кнопок в контексте кнопок, расположенных на панелях инструментов. Я не вижу смысла выполнять код кнопок в контексте списка кнопок в менед
…1 отвалилась кнопка сохранить в редакторе кода - неактивна
На FF18 + custombuttons-0.0.5.6pre3-20111120 + чистый профиль кнопка Сохранить в редакторе кода - неактивна и не работает. Караул! :(
Да.
Вот тут: https://developer.mozilla.org/en-US/doc … developers пишут, что
addEditorObserver() has been removed, use setEditorObserver() instead…
т. е., удалили метод nsIEditor. addEditorObserver, но, похоже, ничего взамен не добавили. setEditorObserver недоступна, nsIDocumentStateListener. NotifyDocumentStateChanged не вызывается.
У меня в [nightly] кнопка активна.
В nightly addEditorObserver ещё на месте.
…А вот объекта XML больше нет.
toXMLString () хоть в каком-нибудь виде сохранили бы :)
Поздравляю всех с Днём Великой Победы!
Слава Советскому народу — народу-победителю!
Слава Советской армии!
Слава ветеранам войны и труженикам тыла!
Вечная память павшим.
В чем проблема то?
Наверное, в том, что «Starting in Gecko 6.0, document.height is no longer supported.»
Подскажите, скрипт работает из консоли или закладки. Из кнопки - нет, что нужно допилить в коде?
Букмарклеты надо загружать так:
loadURI ("javascript:var list=document.getElementsByClassName('box');for (var i=0;i<list.length;i++){o=list[i].parentNode.childNodes[1].style;o.display=(o.display=='none')?'block':'none'};void(0);");
MySh
Здесь обитает сообщество свободных людей, которым нравится использовать свободные продукты и ощущать себя свободными (в рамках приличия, разумеется).
Люди, которых ты выделяешь в "сообщество свободных людей" могут ощущать себя свободными только нарушая правила?