Я создаю простое расширение Chrome с всплывающим, фоновым скриптом и скриптом контента, который я хочу внедрить программным способом.
Когда пользователь нажимает кнопку, я хочу, чтобы расширение создавало новую вкладку сURL-адрес, предоставленный пользователем, и выполните сценарий содержимого на этой странице.
Мой подход заключается в отправке сообщения из всплывающего окна в мой фоновый сценарий и выполнении следующего кода:
chrome.tabs.create({ url }, () => {
chrome.tabs.executeScript({ file: 'content.js' });
});
Но это терпит неудачу и говорит мне, что мое расширение не имеет правильных разрешений, даже если у меня установлены разрешения ["activeTab"]
.
Проблема в том, что я предпочел бы не иметь разрешения на выполнение для каждого URLНапример, ["https://*/*", "http://*/*"]
(Это может показаться подозрительным, но, возможно, это мое единственное решение).
Я настроил пример репо здесь: https://github.com/adambrgmn/test-extension. Он может быть загружен в Chromeкак расширение.
Кто-нибудь еще сталкивался с этой проблемой?Есть обходные пути?