Доступ к полному пути к объекту, указанному в консоли Chrome

Я использую консоль Chrome DevTools JS для отладки пользовательской функции, которая выполняется при нажатии кнопки. Когда я нажимаю на кнопку, в консоли появляется следующее сообщение:

[Violation] 'click' handler took XXXms

Есть ли способ получить доступ к полному пути к этому объекту (кнопке), который я нажимаю, через получаемое сообщение консоли? Я предполагаю, что это будет что-то вроде App.controller.XXX.


person fire    schedule 26.07.2018    source источник
comment
Справа есть интерактивная ссылка на исходный код. Однако это может быть бесполезно для кода внутри html. В любом случае это похоже на запрос функции, который вы можете открыть на crbug.com.   -  person wOxxOm    schedule 26.07.2018
comment
Если вы еще этого не сделали, ознакомьтесь с инструментами SugarDebug: github.com/sugarcrm/SidecarDevTools Здесь вы должны увидеть события щелчка в потоке приложения и перейти к компоненту / аргументам Sugar событий. Не уверен, что это поможет вам в том, чего вы хотите добиться, но, безусловно, стоит взглянуть на ИМХО.   -  person Jay    schedule 27.07.2018
comment
Спасибо, @Jay, на это определенно стоит взглянуть. Как бы то ни было, я в основном работаю с версией 8.0.1 (расширение построено для версий 7.x), но это все равно очень полезно!   -  person fire    schedule 27.07.2018
comment
@Mike Да, я заметил, что там тоже 7.x. Однако я почти уверен, что они на самом деле означают ›= 7, поскольку контекст - это GUI-Framework (сопроводительный файл, который поставляется с Sugar 7 и также используется в Sugar 8 и будущих версиях Sugar). 8 просто не существовало тогда, когда была написана эта строка. Насколько мне известно, он совместим. В любом случае, это отличный инструмент для просмотра таймингов событий / рендеринга, структуры страницы и т. Д. Здесь стоит упомянуть одну досадную ошибку: значок на панели инструментов имеет тенденцию показывать ВКЛ, даже если он на самом деле не работает. Так что, если инструмент не работает, вероятно, значок лжет - ›щелкните по нему.   -  person Jay    schedule 27.07.2018
comment
@Jay Ага, уже столкнулся с этой ошибкой, тестируя его с версией 7.x. Отладка Sidecar сказала, чтобы включить его, когда значок на панели инструментов уже сказал ON, поэтому я щелкнул его еще пару раз, пока он не заработал; спасибо за внимание! Я скоро обновлю его совместимость с Sugar 8.0.1, хотя я считаю, что вы правы, что он по-прежнему будет совместим.   -  person fire    schedule 27.07.2018


Ответы (2)


Обходной путь:

  1. Включите точку останова прослушивателя событий на Мышь> click.
  2. Щелкните кнопку. DevTools приостанавливает работу обработчика нажатия кнопки.
  3. Оцените e.target в консоли DevTools, где e - это имя объекта события, который вы передаете обработчику. Другими словами, вы могли использовать имя event, e или что-то еще.
  4. Щелкните правой кнопкой мыши возвращаемый элемент DOM и выберите Показать на панели элементов.
person Kayce Basques    schedule 27.07.2018
comment
Это отличный способ получить информацию о ссылке на то, над чем вы выполняете действие. Это будет полезно для того, что я ищу в краткосрочной перспективе, так что спасибо! Еще неизвестно, возможно ли получить полный путь к объекту JavaScript, к которому подключена кнопка, например; следите за обновлениями в этом тикете crbug. - person fire; 30.07.2018

В соответствии с предложением wOxxOm я открыл проблему в crbug.com в качестве запроса функции, поскольку то, о чем я прошу, еще невозможно.

Следите за проблемой здесь.

person fire    schedule 27.07.2018
comment
Можно получить ссылку на кнопку в DOM. См. мой ответ. - person Kayce Basques; 28.07.2018