у меня есть расширение написанное на JS

manifest
{
"manifest_version": 3,
"name": "Info Extractor",
"version": "1.0",
"action": {
"default_popup": "popup.html",
"default_icon": "icons/icon128.png"
},
"permissions": ["activeTab", "scripting"]
}

popup.html

Нажми меня!
Click Original Button 
Введите новое значение
 Обновить значение
popup.js
document.getElementById('fetchButton').addEventListener('click', () => {
updateData();
});

document.getElementById('simulateButton').addEventListener('click', () => {
chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => {
chrome.scripting.executeScript({
target: { tabId: tabs[0].id },
func: () => {
const button = document.querySelector('.by-button.by-builder-opr-btn.by-button--contained.by-button--xx-large.by-button--primary');
if (button) {
button.click(); // Симулируем нажатие на кнопку
}
},
});
});
});

document.getElementById('updateValueButton').addEventListener('click', () => {
const newValue = document.getElementById('newValue').value;
chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => {
chrome.scripting.executeScript({
target: { tabId: tabs[0].id },
func: (value) => {
const element = document.querySelector('.pb-position-editor.pb-position-editor-qty-containner');
if (element) {
element.innerText = value; // Обновляем текст элемента
}
},
args: [newValue] // Передаем новое значение
});
});
});

function updateData() {
chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => {
chrome.scripting.executeScript({
target: { tabId: tabs[0].id },
func: () => {
let data = [];
document.querySelectorAll('.by-table-row').forEach((row) => {
const cells = row.querySelectorAll('.by-table-cell');
let rowData = {
modeledPositions: cells[0] ? cells[0].innerText : '--',
leverage: cells[1] ? cells[1].innerText : '--',
expiration: cells[2] ? cells[2].innerText : '--',
strikePrice: cells[3] ? cells[3].innerText : '--',
type: cells[4] ? cells[4].innerText : '--',
direction: cells[5] ? cells[5].innerText : '--',
bidSize: cells[6] ? cells[6].innerText : '--',
bidPriceIV: cells[7] ? cells[7].innerText : '--',
orderPriceIV: cells[8] ? cells[8].innerText : '--',
quantity: cells[9] ? cells[9].innerText : '--',
askSize: cells[10] ? cells[10].innerText : '--',
askPriceIV: cells[11] ? cells[11].innerText : '--',
pnl: cells[12] ? cells[12].innerText : '--',
delta: cells[13] ? cells[13].innerText : '--',
gamma: cells[14] ? cells[14].innerText : '--',
vega: cells[15] ? cells[15].innerText : '--',
theta: cells[16] ? cells[16].innerText : '--',
action: cells[17] ? cells[17].innerText : '--'
};


      // Логика для обновления "Цены ордера" в зависимости от "Направления"
      const orderPriceCell = cells[8];
      if (rowData.direction === 'Купить' && cells[11]) {
        orderPriceCell.innerText = cells[11].innerText; // Ставим "Цену предложения"
      } else if (rowData.direction === 'Продать' && cells[7]) {
        orderPriceCell.innerText = cells[7].innerText; // Ставим "Цену спроса"
      }

      data.push(rowData);
    });
    return data;
  },
}, (results) => {
  if (results && results[0]) {
    let data = results[0].result;
    let dataDiv = document.getElementById('data');

    // Очистить предыдущие данные
    dataDiv.innerHTML = '';

    // Создаем таблицу
    let table = document.createElement('table');
    data.forEach(rowData => {
      let row = document.createElement('tr');

      let columns = [
        'modeledPositions',
        'leverage',
        'expiration',
        'strikePrice',
        'type',
        'direction',
        'bidSize',
        'bidPriceIV',
        'orderPriceIV',
        'quantity',
        'askSize',
        'askPriceIV',
        'pnl',
        'delta',
        'gamma',
        'vega',
        'theta',
        'action'
      ];

      columns.forEach(key => {
        let cell = document.createElement('td');
        cell.innerText = rowData[key];
        row.appendChild(cell);
      });

      table.appendChild(row);
    });

    dataDiv.appendChild(table);
  }
});
});
}

setInterval(updateData, 500);

мне нужно что бы расширение работало даже когда окно popup свернуто