В моем расширении Google Chrome DevTools я пытаюсь прослушать выборки на панели DevTools «Элементы». В частности, должна быть возможность прослушивания выбора уже выбранного элемента.
Мой текущий метод реализации вращается вокруг функции chrome.devtools.panels.elements.onSelectionChanged
. Название функции уже предполагает, что можно реагировать только на элементы, которые в данный момент не выбраны.
Поэтому я попытался сбросить или удалить текущий выбор с помощью переменной $0
, чтобы иметь возможность снова прослушивать тот же элемент - к сожалению, безуспешно.
Моя цель - как-то прослушать каждый щелчок / выбор на панели элементов. Таким образом, я ищу onSelection
слушателя вместо onSelectonChange
слушателя.
РЕДАКТИРОВАТЬ # 1
Вот мой код, который я пробовал:
chrome.devtools.panels.elements.createSidebarPane(
"Selector",
function(sidebar) {
// It fires if I'm selecting a specific DOM element via the elements panel the first time
// It won't fire if I'm selecting the same DOM element again
chrome.devtools.panels.elements.onSelectionChanged.addListener(() => {
chrome.devtools.inspectedWindow.eval(`(${getSelector})()`,
selector => {
console.log(selector)
// Here I tried to reset the current selection...
// I've already debugged it: I can assign a value to $0,
// but this implies that the value remains constant even
// after a new selection.
chrome.devtools.inspectedWindow.eval('$0 = undefined')
})
})
}
)
Мне интересно, есть ли способ изменить селектор программно ...