Attributes Inspector 0.6.4 (2016-02-23)
Совместимость: все приложения на движке gecko: [firefox] Firefox, [seamonkey] SeaMonkey, [thunderbird] Thunderbird etc.
Автор: Infocatcher
Описание:
Показывает всплывающую подсказку со всеми атрибутами.
Использование:
   Клик средней кнопкой мыши или левой с зажатым Ctrl открывает DOM Inspector
   (удерживайте дополнительно Shift, чтобы включить блокировщик всплывающих подсказок и меню)
   Удерживайте Shift, чтобы показывать и не скрывать всплывающие подсказки и меню
Сочетания клавиш:
   Escape – отмена или отключить блокировщик всплывающих подсказок и меню
   Ctrl+Up, Ctrl+Down – перейти к родительскому/дочернему узлу
   Ctrl+Left, Ctrl+Right – перейти к предыдущему/следующему узлу
   Ctrl+Shift+C – копировать содержимое всплывающей подсказки
   Ctrl+Shift+W – исследовать объект window узла в DOM Inspector'e

https://raw.github.com/Infocatcher/Custom_Buttons/master/Attributes_Inspector/attrsInspector-ru.png

Установить: attrsInspector.html
Код: attrsInspector.js
Инициализация:

Выделить код

Код:

this.onmouseover = function(e) {
    this.focusedWindow = Components.classes["@mozilla.org/appshell/window-mediator;1"]
        .getService(Components.interfaces.nsIWindowMediator)
        .getMostRecentWindow(null);
};
this.onmouseout = function(e) {
    this.focusedWindow = null;
};
this.setAttribute("oncommand", "this.focusedWindow && this.focusedWindow.focus();");



Также код можно использовать из других расширений, позволяющих выполнять произвольный код в контексте главного окна приложения, например, из Mouse Gestures.

Известные ограничения
Проблемы с позиционированием всплывающей подсказки при перемещении по DOM-дереву в Firefox 3.0 и 3.5
В Firefox 3.0 и 3.5 невозможно перехватить клик по всплывающей подсказке
В Firefox 1.5 и 2.0 при зажатом Shift всплывающие подсказки не показываются.
В Firefox 1.5 нельзя загрузить полное дерево (ограничения соответствующей версии DOM Inspector'а)

Осторожно, это тестовая версия!

Разрабатываемая версия

Attributes Inspector 0.6.0pre11 (2012-10-18)
* Улучшена обработка удаления кнопки.
+ Добавлено центрирование выбранного узла в панели DOM Inspector'а (настройка "_nodePosition").

Attributes Inspector 0.6.0pre12 (2012-12-05)
* Улучшено определение наличия DOM Inspector'а: теперь, если не используется API DOM Inspector'а, то проверка наличия окна с API не делается.
+ Клик по кнопке с любым нажатым модификатором включает отладочный режим.
* Улучшен "встроенный" режим: если код включен в другую кнопку, оригинальный onDestroy будет сохранен.
* Оптимизирована работа с таймерами nsITimer.
+ Добавлена поддержка приватного режима: если скопировать содержимое всплывающей подсказки, буфер обмена будет очищен после выхода из приватного режима.
* Если доступен новый метод Object.defineProperty(), deprecated __defineGetter__() больше не используется.

Исправление ошибки «TypeError: Value is not callable» в Nightly 20.0a1 (2012-12-19) (https://bugzilla.mozilla.org/show_bug.cgi?id=790978)

Attributes Inspector 0.6.0 (2012-12-20)
x Исправлена возможная ошибка при использовании extDevToolsMouseGesturesLauncher.js.
x Исправлено использование MutationObserver в Firefox 20.0a1 и новее.

13-01-2013 22:06:26
Ну, вся история версий целиком, а то жалко удалять. :)

    0.6.0pre12 (2012-12-05)
* Улучшено определение наличия DOM Inspector'а: теперь, если не используется API DOM Inspector'а, то проверка наличия окна с API не делается.
+ Клик по кнопке с любым нажатым модификатором включает отладочный режим.
* Улучшен "встроенный" режим: если код включен в другую кнопку, оригинальный onDestroy будет сохранен.
* Оптимизирована работа с таймерами nsITimer.
+ Добавлена поддержка приватного режима: если скопировать содержимое всплывающей подсказки, буфер обмена будет очищен после выхода из приватного режима.
* Если доступен новый метод Object.defineProperty(), deprecated __defineGetter__() больше не используется.

    0.6.0pre11 (2012-10-18)
* Улучшена обработка удаления кнопки.
+ Добавлено центрирование выбранного узла в панели DOM Inspector'а (настройка "_nodePosition").

    0.6.0pre10 (2012-08-17)
x Исправлена подсветка узла под курсором с помощью inIFlasher в модальных окнах, открытых из окна, в котором был запущен Attributes Inspector.
* Немного оптимизирована отрисовка всплывающей подсказки.

    0.6.0pre9 (2012-08-16)
+ Реализован вывод информации об атрибутах во время перетаскивания (drag and drop). К сожалению, никакие сочетания клавиш при этом не работают.
* Оптимизировано обновление всплывающей подсказки при очень частом изменении атрибутов узла под курсором.
x Исправлена индикация копирования в модальных окнах, открытых из окна, в котором был запущен Attributes Inspector.

    0.6.0pre7 (2012-07-07)
* Убрано использование deprecated E4X.

    0.6.0pre6 (2012-07-05)
x Блокировщик всплывающих подсказок и меню работал только в окне, из которого был запущен Attributes Inspector.
* Улучшена производительность при работе с MutationObserver'ом.

    0.6.0pre5 (2012-07-05)
* Удаленные атрибуты теперь тоже сортируются и выводятся в общем списке.
* Добавлено отображение пространства имен удаленных атрибутов (будет показано только при отличии от пространства имен DOM-узла).
x При подсветке измененных атрибутов не учитывалось пространство имен.

    0.6.0pre4 (2012-07-04)
* Для отслеживания изменения атрибутов теперь используется более производительный MutationObserver (Firefox 14 и выше).
* Блокировщик всплывающих подсказок и меню отключается только при закрытии окна DOM Inspector'а, открытого после запуска блокировщика.

    0.6.0pre3 (2012-07-04)
x Исправлена обработка изменений атрибутов (ранее ошибочно учитывались изменения в дочерних узлах).

    0.6.0pre2 (2012-07-04)
+ Добавлена подсветка добавленных и измененных атрибутов и отображение удаленных атрибутов (учитываются только изменения для текущего узла, при переходе к другому узлу история изменений теряется).
- Удалены больше не требующиеся хаки для принудительной перерисовки в Firefox 16.0a1.

    0.6.0pre (2012-07-02)
* Увеличен номер версии: слишком много изменений :)
* Изменен механизм блокировки всплывающих подсказок, расширена настройка "_popupLocker". По умолчанию открытие DOM Inspector'а с зажатым Shift включает блокировку всех всплывающих меню и подсказок в окне.
* Улучшена подсветка текущего узла в Firefox 16.0a1.

    0.5.2pre (2011-08-30)
+ Добавлена возможность настройки толщины и вида рамки для выделения узла под курсором.
* Добавлена возможность перемещения по DOM-дереву по Ctrl+Shift+Up/Down (для исследования всплывающих подсказок).
+ Добавлено отображение размера узла под курсором (примечание: getBoundingClientRect() может возвращать дробные значения, они будут округлены до 3-х знаков после запятой).
+ Добавлена возможность отображения пространства имен во всплывающей подсказке ("var _showNamespaceURI = 2;").
+ При открытии меню всплывающая подсказка переоткрывается, чтобы оказаться сверху (если в ОС включена анимация при появлении или скрытии подсказок, подсказка будет немного "мигать").
+ Добавлена возможность блокирования всплывающих подсказок и меню от закрытия ("var _popupLocker = true;").
* Для получения родительского узла теперь используется inIDOMUtils.getParentForNode() - позволяет получить доступ к анонимным узлам и в Firefox 2.0 и новее позволяет перейти к родительскому фрейму.

0.6.1pre3 - 2013-03-31 не открывает средней кнопкой полосу прокрутки (скролбар) на страницах в инспекторе.

bunda1 пишет:

0.6.1pre3 - 2013-03-31 не открывает средней кнопкой полосу прокрутки (скролбар) на страницах в инспекторе.

С этим ничего не сделать: событие клика или не генерируется вообще, или перехватывается где-то раньше.
Можно нажать Ctrl+I/Ctrl+Shift+I, но это тоже не поможет в большинстве случаев из-за того, что DOM Inspector эти узлы вообще не показывает.

Attributes Inspector 0.6.1 (2013-05-19)
* При копировании теперь используется системный формат перевода строк.
* Улучшена работа при использовании extDevToolsMouseGesturesLauncher.js.
+ Ctrl+Left, Ctrl+Right - перейти к предыдущему/следующему узлу.
+ Добавлена возможность отображения текстовых узлов (настройки _excludeChildTextNodes и _excludeSiblingTextNodes).
* Улучшена обработка анонимных узлов (настройка _preferNotAnonymousChildNodes).
x Исправлено обновление всплывающей подсказки после отображения большого количества атрибутов.
* Небольшие улучшения и исправления.

После добавления работает нормально. Но через некоторое время кнопка перестаёт нажиматься. В меню добавления кнопок картинка становится растянутой. Mozilla v. 21

DAntES
Надо обновиться до Custom Buttons 0.0.5.6 (некоторые подробности, которые можно было найти поиском).

Infocatcher
В [nightly] перестали работать клавиши Escape и Ctrl+Shift+C

voqabuhe
Да, я видел.
https://github.com/Infocatcher/Custom_Buttons/issues/12
В разрабатываемой версии, вроде, получилось исправить.

Infocatcher пишет:

В разрабатываемой версии, вроде, получилось исправить.

Спасибо, вроде всё работает.

Attributes Inspector 0.6.2 (2013-08-15)
x Исправлена работа сочетаний клавиш (#11, #12).
+ Добавлен вывод предупреждения, если DOM Inspector не установлен.
+ Добавлено отображение отступов (#14).

Infocatcher
Разреши попросить рассмотреть возможность добавить в Attributes Inspector
некую постороннюю функциональность.

Иногда случается, что хочется посмотреть в DOM Inspector'е
окно документа [исследуемой ноды].
Но добираться до этого окна вручную как-то неудобно.
Может быть добавить какой-нибудь хоткей, чтобы оно открылось сразу.

Для себя, пока что, прицепился так, но ...

скрытый текст

Выделить код

Код:

            else if( // Ctrl+W, Ctrl+Shift+W
                ctrlOrCtrlShift && (
                    e.keyCode == e.DOM_VK_W // keydown || keyup
                    || e.keyCode == 0 && String.fromCharCode(e.charCode).toUpperCase() == "W" // keypress
                )
            ) {
                this._checkPreventDefault(e);
                this.stopEvent(e);
                if(onlyStop)
                    return;
                this.stopSingleEvent(top, "keyup");
                var nodes = this._nodes;
                if(nodes.length) {
                    var nWin = nodes[0].ownerDocument.defaultView;
                    if(ctrlShift)
                        nWin = nWin.top;
                    var iWin = openDialog(
                        "chrome://inspector/content/object.xul",
                        "_blank", 
                        "chrome,all,dialog=no",
                        nWin
                    );
                    iWin.addEventListener("load", function load() {
                        iWin.removeEventListener("load", load, false);
                        var doc = iWin.document;
                        doc.title = doc.title + " - window: " + nWin.location;
                    }, false);
                    context.stop();
                }
            }

Dumby пишет:

Иногда случается, что хочется посмотреть в DOM Inspector'е
окно документа [исследуемой ноды].

Хм, в принципе, можно и добавить.
Только я как-то этим отдельным окном для исследования объектов не пользуюсь совсем, пока что сделал вот такой набросок:
https://github.com/Infocatcher/Custom_B … 233e01b57a
https://github.com/Infocatcher/Custom_B … 5f66509f8b

Infocatcher

О, круто. Большое спасибо !

Кстати, вспомнилось, что в более ранних версиях DOM Inspector'а
аттрибут viewerListEntry для нужного пункта имел другое значение,
например 2.0.10.

Dumby пишет:

Кстати, вспомнилось, что в более ранних версиях DOM Inspector'а
аттрибут viewerListEntry для нужного пункта имел другое значение,
например 2.0.10.

С этим, вроде, просто:
https://github.com/Infocatcher/Custom_B … d3eaf3a4db
Заодно посмотрел, как эффективно это дело роняет 1.5. :)

voqabuhe

В [nightly] перестали работать клавиши Escape и Ctrl+Shift+C

Та же проблема в Seamonkey 2.22.1.

MySh пишет:

voqabuhe

В [nightly] перестали работать клавиши Escape и Ctrl+Shift+C

Та же проблема в Seamonkey 2.22.1.

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

Infocatcher
Ой, прошу прощения! И правда, не заметил, что уже новая версия вышла.
Спасибо! Теперь всё работает.

Infocatcher
FF 33.0a1, AI 0.6.3pre3.
Components.classes['@mozilla.org/inspector/flasher;1'] is undefined :(.

Dumby пишет:

FF 33.0a1, AI 0.6.3pre3.
Components.classes['@mozilla.org/inspector/flasher;1'] is undefined :(.

Какие молодцы, заодно легко можно пересчитать адекватных разработчиков.
Я еще использовал inIFlasher.repaintElement(), так аналогов, надо полагать, теперь больше нет. Кстати, nsIDOMWindowUtils.redraw() не помогает.

Подправил: https://github.com/Infocatcher/Custom_B … 58a4d952e9 (но принудительная перерисовка как была корявой, так и осталась).

Attributes Inspector 0.6.3 (2014-06-19)
[+] Добавлено сочетание клавиш Ctrl+W для исследования объекта window текущего окна.
[+] Добавлено отображение дополнительных свойств узла документа.
[*] Немного улучшена производительность: очистка всплывающей подсказки теперь делается непосредственно перед обновлением.
[x] Исправлено отключение блокировщика всплывающих меню по нажатию Escape (#12).
[*] Уже запущенный Attributes Inspector теперь ищется во всех окнах.
[x] Добавлена возможность принудительного обновления всплывающей подсказки в Firefox 29+ (на случай проблем с отображением, настройка "_forceRepaintTooltip") (#25).
[*] Упрощено использование из Scratchpad'а (devtools.chrome.enabled = true + Окружение – Браузер): добавлена обертка, чтобы не создавать глобальные переменные.
[x] Workaround для корректной работы без inIFlasher (bug 1018324).
[+] Добавлена настройка "_maxTooltipWidth".

Infocatcher
У меня на Nightly после использования AI (0.6.3 - 2014-06-19)
перестали удаляться из окна его listener'ы.

Оказалось, что вместо removeEventListener там теперь ... какая-то.
Вот картинка с чистого профиля.
Вроде так помогает:

скрытый текст

Выделить код

Код:

function rel(type, func, useCapture, target) {
    //return (target || window).removeEventListener(type, func, useCapture);
    return EventTarget.prototype.removeEventListener.call((target || window), type, func, useCapture);
}

Dumby пишет:

У меня на Nightly после использования AI (0.6.3 - 2014-06-19)
перестали удалятся из окна его listener'ы.

Оказалось, что вместо removeEventListener там теперь ... какая-то.
Вот картинка с чистого профиля.

Угу, я уже видел, видимо, объe10s'или что-нибудь.
Впрочем, там все равно надо будет что-то делать насчет e10s, только пока что не понятно: https://bugzilla.mozilla.org/show_bug.cgi?id=1051238

Dumby пишет:

Вроде так помогает:

скрытый текст

Выделить код

Код:

function rel(type, func, useCapture, target) {
    //return (target || window).removeEventListener(type, func, useCapture);
    return EventTarget.prototype.removeEventListener.call((target || window), type, func, useCapture);
}


О, спасибо!
Как назло в старых версиях или нету EventTarget.prototype.removeEventListener, или вываливается с ошибкой при вызове (или, кажется, тупо не делает ничего).
Пока вот так: https://github.com/Infocatcher/Custom_B … 01a763f045

Infocatcher
Здравствуйте.
На последней ночнушке (Win 8.1 x64, Firefox Nightly 41.0a1 x64 BuildID:20150524030234, CB 0.0.5.9pre1, AI 0.6.3, DOM Inspector 2.0.15), при использовании блокировщика всплывающих подсказок и меню, окно DOM Inspector'а перестало реагировать на левую клавишу мыши.
Поправка: это происходит, кажется, только если использовать блокировщик всплывающих подсказок и меню на контекстном меню urlbar'а. :)
Спасибо.

turbot
Вижу... как чинить – не понятно, но записал: https://github.com/Infocatcher/Custom_Buttons/issues/37
У меня и на релизном Firefox 38.0.1 воспроизводится.

Infocatcher пишет:

У меня и на релизном Firefox 38.0.1 воспроизводится.

Обнаружил просто после обновления ночнушки, и сначала грешил на нее. Надо было переписать пост, но поленился. Виноват.

Infocatcher
Тут просили переделать по СКМ копировать тултип, да, стало более оперативно копировать название селектора, что в большинстве случаев и нужно, но иногда нужно и DOM запускать. Может можно копирование добавить без отключения вызова DOM, например на СКМ или ПКМ?

Чтобы не потерялось: начало про копирование.

villa7 пишет:

Может можно копирование добавить без отключения вызова DOM, например на СКМ или ПКМ?

ПКМ занимать нельзя, будет неудобно исследовать контекстные меню.
И все равно ведь остается Ctrl(+Shift)+I.

а нет ли возможности сменить сочетание Ctrl+W на что-то другое? постоянно использовал для закрытия вкладки. а вчера дошли руки обновить кнопку и тут сюрприз.

спасибо.

z_mashine пишет:

а нет ли возможности сменить сочетание Ctrl+W на что-то другое?

Хм, ну там все равно одно и то же было для Ctrl+W и Ctrl+Shift+W...
Оставил только второе сочетание: https://github.com/Infocatcher/Custom_B … 788f8811ac (установить можно отсюда).

На FF45 после выключения кнопки в консоли ошибок бесконечно появляется сообщении о ошибке:

Выделить код

Код:

Error: TypeError: tt.showPopup is not a function
Source File: chrome://custombuttons-context/content/button.js?windowId=Firefox&id=custombuttons-button4@code line 1 > Function
Line: 1088

bunda1
Ой, там вот это исправление было (и пора релиз выпускать). По идее, вот эта версия уже должна правильно работать.

Спасибо, теперь вроде всё нормально.

Attributes Inspector 0.6.4 (2016-02-23)
[x] Workaround для removeEventListener() при использовании compatibility shims для мультипроцессного режима (используются даже при отключенном мультипроцессном режиме).
[*] Улучшен способ принудительного обновления всплывающей подсказки в некоторых случаях (#30).
[-] Удалено сочетание клавиш Ctrl+W для исследования объекта window, используйте вместо него Ctrl+Shift+W.
[x] Некоторые фиктивные исправления для мультипроцессного режима.

Infocatcher
Словил падение браузера, в последних ночнушках (еще ~неделю назад этого не было) если изменена ширина попапа авесомбара так (либо с CTR) и стилем

Выделить код

Код:

  #PopupAutoCompleteRichResult {
    margin: auto !important;
  }

При уводе курсора с попапа, с активным Attributes Inspector, браузер падает.
Это к вам, на багзиллу или просто себе :dumb:? :rolleyes:

turbot
Там из всех вмешательств только атрибут вешается и стили для него, так что со стороны кнопки и не поделаешь особо ничего.
Да если бы и делалось чего-нибудь этакое – падать не должно. Так что я за багзиллу. Будут ли править – еще вопрос, но вот что на обычных стилях можно так уронить – это не дело. Может там память портится, вдруг со страницы такое же провернуть можно. И еще и запустить чего.

Infocatcher
Понял. Спасибо. Попробую-таки одолеть багзиллу (или на мозиллазине отпишусь, в теме ночнушек. Там опытные в заведении багов и английском люди бывают).

Не успел. :D Похоже, исправили в последней ночнушке.

А поправить кнопку для работы в Pale Moon 26.5.0,27.4.0 не работает Escape,Ctrl+Shift+C,Ctrl+Shift+W...?
Пробывал с разными версиями CB.

rgdru пишет:

А поправить кнопку для работы в Pale Moon 26.5.0,27.4.0 не работает Escape,Ctrl+Shift+C,Ctrl+Shift+W...?

Автор Pale Moon упоролся. :(
Когда основан на Gecko 28 с добавками (вроде как), но Services.appinfo.platformVersion возвращает "3.2.2".
Должно помочь: https://github.com/Infocatcher/Custom_B … 8fd4068656
Проверял только на Pale Moon 27.4.0.

Спасибо! Сейчас нормально работает и в 26.5.0 тоже.

Infocatcher пишет:

основан на Gecko 28 с добавками (вроде как), но Services.appinfo.platformVersion возвращает "3.2.2".

Может на 38, ну а то что возвращает "3.2.2" так это скорее всего Goanna 3.2.2

Vitaliy V. пишет:

Может на 38, ну а то что возвращает "3.2.2" так это скорее всего Goanna 3.2.2

Я поискал официальные упоминания, но каких-то особых привязок к версиям Firefox/Gecko не нашел, тут же функциональность важна, а не портированные исправления безопасности. Хорошо еще, что такая (не особо правильная) проверка только одна делается.

ДОбрый день! Как это сейчас установить?

69from пишет:

Как это сейчас установить?

С помощью распорок: https://forum.mozilla-russia.org/viewto … 48#p745048
И обновленной версии Custom Buttons: https://forum.mozilla-russia.org/viewto … 57#p746057

Или можно запускать из встроенного редактора кода.
devtools.chrome.enabled = true
Shift+F4
В редакторе выбрать Окружение – Браузер
Вставить туда весь код и нажать Запустить

Infocatcher пишет:

69from пишет:

Как это сейчас установить?

С помощью распорок: https://forum.mozilla-russia.org/viewto … 48#p745048
И обновленной версии Custom Buttons: https://forum.mozilla-russia.org/viewto … 57#p746057

Или можно запускать из встроенного редактора кода.
devtools.chrome.enabled = true
Shift+F4
В редакторе выбрать Окружение – Браузер
Вставить туда весь код и нажать Запустить

А можно как-то проще? Чтобы не копать что такое распорки, переходя из одной ветки в другую? Custom Buttons не нашел версию, которая может установиться...
А про редактор кода понял, но что туда писать — опять же вопрос. Я в стилях горазд разобраться, но писать скрипты без помощи — на это времени не напасешься.

69from
Вот портативный F57 с отключеной проверкой цифровых подписей, папке с браузером находится Сustom Buttons который надо установить: https://yadi.sk/d/Xv4A8_Ir3PyJky

bunda1 пишет:

69from
Вот портативный F57 с отключеной проверкой цифровых подписей, папке с браузером находится Сustom Buttons который надо установить: https://yadi.sk/d/Xv4A8_Ir3PyJky

дык у меня мак

Infocatcher
Bug 1427419
InspectorUtils.webidl
Так?

скрытый текст

Выделить код

Код:

        get dwu() {
            delete this.dwu;
            /*
            return this.dwu = Components.classes["@mozilla.org/inspector/dom-utils;1"]
                .getService(Components.interfaces.inIDOMUtils);
            */
            return this.dwu = "inIDOMUtils" in Components.interfaces
                ? Components.classes["@mozilla.org/inspector/dom-utils;1"]
                    .getService(Components.interfaces.inIDOMUtils)
                : InspectorUtils;
            
        },

Dumby пишет:

Bug 1427419
InspectorUtils.webidl
Так?

О! Спасибо, обновил: https://github.com/Infocatcher/Custom_B … fa3c18c6a6
Самое ведь интересное – обильные правки в 27 частей без видимой пользы.
Вероятность ошибок-то растет... К примеру, эта опечатка до сих пор в коде.

И бедный DOM Inspector ломается все больше. :(

Привет, Infocatcher
Я как-то просил вас переделать в Attributes Inspector копирование атрибутов на СКМ
Не подскажете, что поменять в новом скрипте?

Ultima2m пишет:

Я как-то просил вас переделать в Attributes Inspector копирование атрибутов на СКМ
Не подскажете, что поменять в новом скрипте?

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

Infocatcher пишет:

Так ведь должна по-прежнему работать

Да я сдуру весь код заменил, а про старые исправления и забыл совсем - думал кнопку с исправлениями целиком ставил. Склероз.
Спасибо, исправил.

Привет, Infocatcher.
После обновления до ФФ58 отвалилось копирование по СКМ.
(У меня-то спец.кнопка :sick:)
Ctrl+Shift+C работает нормально.
Что посоветуешь?

Infocatcher
Разреши проконсультироваться.
Как лучше делать проверку на bug 1476145?
Пока сделал так

скрытый текст

Выделить код

Код:

        getScreenRect: function(node) {
            var win = node.ownerDocument.defaultView;
            var scale = 1;
            try {
                //var utils = win.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                //    .getInterface(Components.interfaces.nsIDOMWindowUtils);
                var utils = "windowUtils" in win && win.windowUtils
                    instanceof Components.interfaces.nsIDOMWindowUtils
                    ? win.windowUtils
                    : win.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                        .getInterface(Components.interfaces.nsIDOMWindowUtils);
                scale = utils.screenPixelsPerCSSPixel || 1;
            }

Dumby
Так и хорошо же. А с win.windowUtils || win.QueryInterface(…) можно нарваться на чужую глобальную переменную в старых версиях.
Обновил, спасибо: https://github.com/Infocatcher/Custom_B … f51f9dee5f
(заодно оказалось, что уже накопилось недопроверенное и незапушенное)

Скажите пожалуйста, а на 61и выше DOM Inspector работает? Я обновился с 59 на 61 и уменя стояла последняя версия Dom с сайта. В расширения он присутствует, а ваша кнопка (то же последняя версия с вашей странички) пишет, что он не найден. При попытке переустановить Dom пишем что в архиве ошибка, хотя это не так. Такая же ситуация и с консоль2 (с поддержкой до 63). Скачал на вашей страничке. В 59 все устанавливается и кнопка появляется, а на 61стала не активна и кнопка пропала. При переустановке пишет что тоже архив повреждён. Что  можете подсказать. Custom Buttons работает без проблем. Паратры для установки старых приложений включены.

И DOM Inspector, и Console² точно ломались где-то в процессе обновления Nightly, но точных дат и версий я не помню.
Судя по 1448162 - Disable XUL overlays, в Firefox 61+ их принципиально не запустить без переписывания в виде restartless bootstrap расширения.
По поводу якобы поврежденного архива – возможно, нужно обновить лекарство от цифровых подписей.

Infocatcher
А альтернатив нет для 63+ версий? Или девелоперских с webextensions experiments?

Karn пишет:

А альтернатив нет для 63+ версий? Или девелоперских с webextensions experiments?

Есть встроенный Browser Toolbox, но он работает через удаленную отладку и, похоже, не позволяет задать узел для исследования внешним вызовом.
А альтернативы кто-то написать должен, причем в условиях, когда разработчики браузера стали ломать обратную совместимость усерднее прежнего. Я альтернатив не видел.
Новая консоль ошибок вон ущербная, уже сколько версий не посмотреть и не отфильтровать нормально ошибки, относящиеся к конкретному расширению... Даже ссылку на файл, из которого прилетела ошибка, не скопировать.

Infocatcher
Спасибо, да уж, придётся кастомить методом тыка и гугла, Browser Toolbox очень неудобная штука. Ладно хоть пока многое работает и сам браузер ускоряется, после 56 ощущается.

Infocatcher
Bug 1482389 - Convert TreeBoxObject to XULTreeElement
Таким образом слетели коды прокрутки в деревьях.
Сделал пока так, вроде работает

скрытый текст

Выделить код

Код:

                if(_nodePosition >= 0) {
                    /*
                    var tbo = viewer.mDOMTree.treeBoxObject;
                    var cur = tbo.view.selection.currentIndex;
                    var first = tbo.getFirstVisibleRow();
                    var visibleRows = tbo.height/tbo.rowHeight;
                    */
                    if("nsITreeBoxObject" in Components.interfaces) {
                        var tbo = viewer.mDOMTree.treeBoxObject;
                        var visibleRows = tbo.height/tbo.rowHeight;
                    } else {
                        var tbo = viewer.mDOMTree;
                        var visibleRows = tbo.getPageLength();
                    }
                    var cur = tbo.view.selection.currentIndex;
                    var first = tbo.getFirstVisibleRow();

...

                                    _log('inspectWindow(): scroll to "defaultView" entry');
                                    //var tbo = tree.treeBoxObject;
                                    var tbo = "nsITreeBoxObject" in Components.interfaces
                                        ? tree.treeBoxObject
                                        : tree;


На всякий случай, чтоб проверить, мои останки DOMi
dom_inspector-7.0.1-fx-paxmod.xpi
dom_inspector-7.0.1-fx-bootstrap.xpi

Dumby
О, DOMi! Я скучал по нему.
Записался в свидетели живого DOMi и обновил.
Спасибо!

Infocatcher  пишу Вам здесь, так не нашел отдельной темы. Кнопка  - New Button at Right from current работает и на 66.03, но в связи с их политикой, не  запоминает настройки. Т.е. после перезагрузки или при новом включении постоянно приходится вручную нажимать на кнопку. Можно ли как нибудь это обойти, чтобы запоминались настройки?
Да, еще Вы как то говорили, что в скором будущем исправите Custom Buttons: Source Editor для новых версий, можно ли ожидать это в ближайшее время?