Несколько файлов. js для содержимого скрипта не работают - PullRequest
0 голосов
/ 18 июня 2020

Я работаю над расширением chrome, которое использует сценарии содержимого. Чтобы упростить поддержку кода, я хочу разбить его на несколько файлов. Я везде следовал всем инструкциям о том, как использовать несколько файлов для одного и того же шаблона соответствия, но, похоже, ничего не работает.

Это мой manifest.json:

{

  "manifest_version": 2,
  "name": "Test Extension",
  "version": "0.1",

  "description": "This is a test extension",

  "icons": {
    "48": "icons/icon-48.png"
  },

  "content_scripts": [
    {
      "js": ["test.js", "main.js"],
      "matches": ["*://*.netflix.com/*"],
      "run_at": "document_end"
    }
  ]

}

Теперь у меня есть два скрипта, которые я хочу использовать вместе, test.js и main.js.

test.js:

var test = "Hello";
console.log("This is a test");

и main.js:

console.log(test);

Переменная, объявленная в test.js, должна быть глобальной и доступной из сценария main.js, но когда я пробую ее в chrome, она говорит, что «тест не определен». Очевидно, первый сценарий даже не выполняется, потому что console.log i, добавленный к test.js, вообще не отображается в консоли. Я также убедился, что test.js предшествует main.js, чтобы он загружался в правильном порядке, и я также попытался использовать библиотеку, например jquery, но я просто не могу получить доступ к переменным и функциям из другого файла внутри main.js.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 18 июня 2020

Я использую надстройку «Extension Reloader» для Chrome, чтобы быстро перезагрузить мое расширение и текущий сайт, и, по-видимому, он не перезагружает manifest.json. Изменения в файлах, которые уже находятся в манифесте, работают, но когда вы добавляете в него другой файл, он не запускается.
Поэтому, если вы также используете это расширение, обязательно перезагрузите свое расширение в chrome://extensions при изменении чего-либо в манифест.

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