Как правильно получить доступ к DOM текущей страницы из Chrome extension?

Подскажите как правильно получить доступ к DOM текущей открытой вкладки Chrome из Chrome extension.
В popup.html есть код:
chrome.tabs.executeScript(null, {
            code: "var blocks = document.querySelectorAll('.text-card_content');"
});


Но в данном случае очень неудобно "дебажить код", поскольку он используется как строковое значение.

Собственно вопрос:
Правильно ли я обращаюсь к DOM текущей вкладки? Есть ли какой либо "более удобный" способ, к примеру что-то подобное:
chrome.tabs.query(...   и.т.д.
  • Вопрос задан
  • 642 просмотра
Пригласить эксперта
Ответы на вопрос 1
@neeremeevan
Advenced devops tester
Хотелось бы поднять вопрос, появилась задача, которая не требует общения с помощью сообщений между content,background,popup scripts. Необходимо, тривиально добавить ссылки на страницу.

Статически пишу в контент скрипте поиск и замену, срабатывает только на те которые есть на странице, но на странице есть динамический контент, который меняет location но не обновляет страницу, т.к. расширение у меня запускается после document_end, динамического контента нет еще нет пока не нажата кнопка:
div id="zapros-s-sql"..

Как мне поменять динамический контент, который появляется в DOM только после нажатия кнопки, а расширение не перезагружается.

Пробовал добавить addEventListener на кнопку которая вызывает запрос на динамику, но она не срабатывает. ДОМтриманипулятион, тоже обработчик не срабатывает. Только нашел решение повести листенер 'click' - срабатывает, но нужно автоматизировать.

Собственно вопрос есть ли какие манифест обработчики, которые автоматически перезагружают расширение, когда произошло вызов динамики или хотя бы смена локейшена. Надеюсь понятно, за не ровный почерк извиняюсь заранее.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы