Esta es una extensión de Chrome que supone cambiar el aspecto de un sitio web a oscuro, estoy almacenando el estado de la casilla de verificación de la ventana emergente y luego recuperándolo en segundo plano para actualizar la pestaña, la información parece almacenarse pero no se pudo actualizar la pestaña en consecuencia, no sé qué estoy haciendo mal aquí
emergente.js
function save_options() { var chekboxState = document.getElementById('toggle_button').checked; chrome.storage.sync.set({ darkMode: chekboxState }, function() { // Update status to let user know options were saved. console.log('chekc box is ' + chekboxState); }); } // Restores select box and checkbox state using the preferences function restore_options() { chrome.storage.sync.get({darkMode: 'true',}, function(item) { console.log('chekc box is ' + item.darkMode); document.getElementById('toggle_button').checked = item.darkMode; }); } document.addEventListener('DOMContentLoaded', function () { restore_options(); document.getElementById('toggle_button').addEventListener('change',save_options); });fondo.js
chrome.tabs.onUpdated.addListener(function(tabId, info,tab) { if (changeState()){ chrome.scripting.insertCSS({ files: ['newstyle.css'], target: { tabId: tab.id } }); console.log('style was put back'); }else { chrome.scripting.removeCSS({ files: ['newstyle.css'], target: { tabId: tab.id } }); console.log('style was removed'); } // } }); function changeState(){ chrome.storage.sync.get(['darkMode'], function(result) { console.log('Value currently is ' + result.darkMode); console.log('popup opened'); if (result.darkMode == true){ console.log('newstyle.css'); // return 'newstyle.css'; return true; } else { console.log('nostyle.css'); // return 'nostyle.css'; return false; } }); } chrome.runtime.onInstalled.addListener(function() { chrome.storage.sync.set({ darkMode: true }, function() { // Update status to let user know options were saved. console.log('chekc box is true on instalations'); }); });