Судя по вашему описанию и коду, проблема может быть связана с функцией `toggleForms(isEnabled)`, которая, вероятно, отвечает за отображение или скрытие контента в зависимости от состояния чекбокса. Ваша проблема заключается в том, что при выключенном состоянии чекбокса контент исчезает, а при повторном открытии всплывающего окна он снова отображается.
Вот несколько вещей, которые можно проверить и исправить:
1. **Убедитесь, что функция `toggleForms(isEnabled)` правильно обрабатывает состояние, когда чекбокс отключен**. Вам следует убедиться, что в этой функции вы правильно скрываете или отображаете контент. Например:
```javascript
function toggleForms(isEnabled) {
const content = document.getElementById('content'); // Предполагаем, что это ваш контент
if (isEnabled) {
content.style.display = 'block'; // или другой способ отображения
} else {
content.style.display = 'none'; // скрываем контент при выключенном состоянии
}
}
```
2. **Убедитесь, что состояние контента обновляется при каждом открытии всплывающего окна**. Ваша логика загрузки состояния при `DOMContentLoaded` верная, но проверьте, что в вашем коде действительно обновляется отображение контента:
```javascript
chrome.storage.local.get(['extensionEnabled'], (result) => {
const isEnabled = result.extensionEnabled !== undefined ? result.extensionEnabled : true;
toggleCheckbox.checked = isEnabled;
updateToggleStatus(isEnabled);
toggleForms(isEnabled); // Вызов функции для обновления видимости контента
});
```
3. **Проверьте, не вызывается ли `toggleForms` в месте, которое можно пропустить**. Возможно, в других частях вашего кода вы не вызываете `toggleForms`, когда состояние чекбокса изменяется. Убедитесь, что это происходит внутри обработчика событий для чекбокса:
```javascript
toggleCheckbox.addEventListener('change', (event) => {
const isEnabled = event.target.checked;
chrome.storage.local.set({ extensionEnabled: isEnabled }, () => {
updateToggleStatus(isEnabled);
toggleForms(isEnabled); // Обновляем отображение контента
});
});
```
4. **Посмотрите в консоль разработчика**. Возможно, при включении и выключении чекбокса происходят какие-то ошибки JavaScript, которые могут мешать функции отображения контента. Наблюдение за поведением кода в отладчике поможет определить, где именно происходит сбой.
Если после всех этих шагов проблема не решается, пожалуйста, уточните, как именно реализована функция `toggleForms` и как организован HTML-код отображаемого контента, чтобы можно было предложить более точное решение.