Работа в фоновом режиме
background.js
По умолчанию background.js
не запускается автоматически только из-за имени файла. Всё определяется конфигурацией в manifest.json
.
🔍 Почему используется background.js
?
Так принято по соглашению. Но его можно назвать как угодно, главное — указать правильное имя в manifest.json
.
📌 Пример manifest.json
с кастомным именем:
{
"manifest_version": 3,
"name": "My Chrome Extension",
"version": "1.0",
"description": "Моё первое расширение.",
"permissions": ["activeTab", "scripting", "storage"],
"background": {
"service_worker": "custom-background.js" // Можно назвать как угодно
}
}
В этом примере вместо background.js
используется файл custom-background.js
.
Если указать content.js
здесь — он станет фоновым скриптом, а не контентным.
📌 Различия между background.js
и content.js
:
Параметр | background.js |
content.js |
---|---|---|
Как указывается | В manifest.json в разделе background . |
В manifest.json в разделе content_scripts . |
Где выполняется | Вне вкладок (в Service Worker). | Внутри веб-страниц, напрямую встраивается в DOM. |
Доступ к веб-странице | Непосредственно нет, только через сообщения. | Прямой доступ к DOM веб-страницы. |
Запуск | Фоновый процесс, запускается при необходимости. | Выполняется каждый раз, когда загружается страница. |