Работа в фоновом режиме
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 веб-страницы. |
| Запуск | Фоновый процесс, запускается при необходимости. | Выполняется каждый раз, когда загружается страница. |