Расширение загрузки скрипта контента выдает предупреждение при публикации в интернет-магазине Chrome - PullRequest
0 голосов
/ 06 ноября 2019

Я хотел бы разбить скрипт моего расширения Chrome на несколько файлов. Для этого, насколько я понимаю, мне нужно добавить свойство «content_scripts» в файл манифеста. При публикации в Интернет-магазине Chrome я получаю предупреждение о том, что моему расширению требуются широкие разрешения и что проверка расширения займет больше времени, и что мне лучше сделать это по-другому.

Первоначально у меня былоодин файл JS, включая данные и функции. Мне это не нравится, поэтому я хотел иметь отдельные файлы js для данных и функций. Поэтому я перенес данные в новый файл data.js, и единственный найденный способ заставить его работать - это иметь свойство «content_script» внутри файла манифеста.

"content_scripts": [
    {
        "matches": ["<all_urls>"],
        "js": ["data.js"]
    }
],

«Соответствия»собственность, кажется, требуется. Я понимаю, что этозначение заставляет Chrome Store предупредить меня, что это слишком много разрешения. Они советуют мне использовать вместо этого «permissions»: [«activeTab»]. Но у меня уже есть это в моем манифесте. Поэтому меня немного смущает вопрос о том, как можно просто добавить скрипт содержимого без дополнительных разрешений, поскольку это всего лишь еще один встроенный файл js, и я не понимаю, почему для этого потребуется больше разрешений, чем в исходном фоновом файле javascript.

1 Ответ

0 голосов
/ 07 ноября 2019

Наконец, мне удалось использовать несколько отдельных js-файлов, ссылаясь на них из фонового скрипта:

chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.executeScript(tab.id, {file:"script1.js"});
  chrome.tabs.executeScript(tab.id, {file:"script2.js"});
});

Он работает нормально и не заставляет Chrome Web Store выдавать предупреждение о разрешении. Так что это кажется гораздо лучшим способом для того, что я намеревался сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...