Я работаю над расширением браузера для React DOM . Это расширение имеет пользовательский интерфейс «Профилировщик», который измеряет производительность рендеринга для компонентов React. Я недавно добавил снимки экрана к этому профилировщику, чтобы он мог показывать изображения DOM каждый раз, когда React обновляет его.
Для этого расширение вызывает chrome.tabs.captureVisibleTab
в ответ на запрос из пользовательского интерфейса расширения DevTools. (Этот запрос делается каждый раз, когда React фиксирует изменения в DOM.)
У меня на данный момент требуется разрешение <all_urls>
на основе документации для этого API , которая гласит:
Для использования этого метода у вас должно быть разрешение <all_urls>
. (С другой стороны, Chrome позволяет использовать этот метод с разрешением activeTab
и жестом соответствующего пользователя).
(Документация Chrome для этого API не упоминает ни один из способов.)
По моему опыту, я могу сделать снимок экрана после обновлений, вызванных, например, нажав на элемент привязки. Однако другие типы обновлений (например, события «прокрутка», программный вызов click()
для элемента) завершаются неудачно, и в фоновый скрипт записывается следующая ошибка:
Unchecked runtime.lastError: Невозможно получить доступ к содержимому URL "". Манифест расширения должен запрашивать разрешение на доступ к этому хосту.
Неправильно ли представлена документация об этом API? Я правильно определил свои разрешения? Любая помощь будет оценена!