Я работаю над расширением 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
, но когда я пробую ее в хроме, она говорит, что «тест не определен». Очевидно, первый сценарий даже не выполняется, потому что console.log
, который я добавил в test.js
, вообще не отображается в консоли. Я также убедился, что test.js
находится перед main.js
, чтобы он загружался в правильном порядке, и я также попытался использовать библиотеку, такую как jquery, но я просто не могу получить доступ к переменным и функциям из другой файл внутри main.js
.
Любая помощь приветствуется.
1 ответ
Я использую надстройку «Extension Reloader» для Chrome, чтобы быстро перезагрузить мое расширение и текущий сайт, и, по-видимому, он не перезагружает manifest.json
. Изменения в файлах, которые уже есть в манифесте, работают, но когда вы добавляете в него другой файл, он не запускается.
Поэтому, если вы также используете это расширение, обязательно перезагрузите свое расширение в chrome://extensions
при изменении что-нибудь в манифесте.
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.