Attributes Inspector 0.6.4 (2016-02-23)
Совместимость: все приложения на движке gecko: Firefox, SeaMonkey, 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
Установить: 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.
Отредактировано Infocatcher (23-02-2016 21:59:43)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Осторожно, это тестовая версия!
Отредактировано Infocatcher (13-01-2013 22:05:30)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
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 и новее позволяет перейти к родительскому фрейму.
Отредактировано Infocatcher (13-01-2013 22:17:08)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
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 (04-06-2013 11:28:10)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
voqabuhe
Да, я видел.
https://github.com/Infocatcher/Custom_Buttons/issues/12
В разрабатываемой версии, вроде, получилось исправить.
Отредактировано Infocatcher (06-08-2013 11:32:02)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
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 (16-10-2013 20:40:32)
Отсутствует
Иногда случается, что хочется посмотреть в DOM Inspector'е
окно документа [исследуемой ноды].
Хм, в принципе, можно и добавить.
Только я как-то этим отдельным окном для исследования объектов не пользуюсь совсем, пока что сделал вот такой набросок:
https://github.com/Infocatcher/Custom_B … 233e01b57a
https://github.com/Infocatcher/Custom_B … 5f66509f8b
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Infocatcher
О, круто. Большое спасибо !
Кстати, вспомнилось, что в более ранних версиях DOM Inspector'а
аттрибут viewerListEntry для нужного пункта имел другое значение,
например 2.0.10.
Отредактировано Dumby (21-10-2013 18:44:35)
Отсутствует
Кстати, вспомнилось, что в более ранних версиях DOM Inspector'а
аттрибут viewerListEntry для нужного пункта имел другое значение,
например 2.0.10.
С этим, вроде, просто:
https://github.com/Infocatcher/Custom_B … d3eaf3a4db
Заодно посмотрел, как эффективно это дело роняет 1.5.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
voqabuhe
В перестали работать клавиши Escape и Ctrl+Shift+C
Та же проблема в Seamonkey 2.22.1.
Ой, пока был в отъезде, накопилось порядочно всяких уведомлений на почте... видимо, пропустил.
Проблемы, разумеется, будут одни и те же – разработчики решили переделать логику обработки событий клавиатуры.
Но ведь это все уже исправлено. Есть правда, еще одно аналогичное исправление, оно пока только в экспериментальной версии.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
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".
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует