así que estoy tratando de crear dos botones. Uno está actualizando el sitio a intervalos y el segundo debería detenerlo después de presionar, pero el botón de detener no funciona. Lo segundo es que si presiono el botón de inicio, no se guarda en el almacenamiento local como lo quiero. ¿Podrían ayudarme con esto?
window.onload = function () { if (localStorage.getItem("refresh")) { startref() } }; function startref() { let intervalId = setInterval(function () { chrome.tabs.query({ active: true, currentWindow: true }, function (arrayOfTabs) { var code = 'window.location.reload();'; chrome.tabs.executeScript(arrayOfTabs[0].id, { code: code }); }); }, 1000); localStorage.setItem('refresh'); } function stop() { clearInterval(intervalId); } document.addEventListener('DOMContentLoaded', function () { document.getElementById("startbtn").addEventListener('click', startref); }); document.addEventListener('DOMContentLoaded', function () { document.getElementById("stopbtn").addEventListener('click', stop); });La función localStorage.setItem toma dos argumentos. Uno es clave y otro es el valor de la clave.
cambiar esta línea
localStorage.setItem('refresh');dentro de esto
localStorage.setItem('refresh',intervalId); Cuando borre el intervalo, primero obtenga el ID de intervalId almacenado en localStorage y luego llame a clearInterval .
function stop() { const intervalId = localStorage.getItem("refresh"); clearInterval(intervalId); }