Tengo un problema para proteger un estado de la ventana emergente en el almacenamiento local en la extensión de Chrome. Estoy haciendo una casilla de verificación y me gustaría que cuando haga clic en ella, cambie el estado de almacenamiento e informe sobre el contenido. También me gustaría que cuando abro una nueva pestaña mantenga el estado de la casilla de verificación, tomando la información del almacenamiento, y si cierro el navegador y abro, me gustaría que mantuviera la información de la última vez que estuvo abierto .
esta es mi ventana emergente:
const PopUp = () => { const [checked, setchecked] = useState(false); chrome.storage.sync.get('checked', storage => { setchecked(storage.checked); }); const handleChange = () => { setchecked(status => !status); chrome.storage.sync.set({ checked }); }; return ( <div> <input type='checkbox' checked={checked} onChange={handleChange} /> </div> ); };y este es mi contenido.js
(() => { chrome.storage.sync.get('checked', storage => { toggle(storage.checked); }); chrome.storage.onChanged.addisExtensionActiveListener(storage => { toggle(storage.checked); }); const toggle = (state) { if (state) { //do something } } })();en el fondo tengo eso, si puede ayudar:
const getSomethingFromContent = () => { const getValue = activeInfo => { chrome.tabs.get(activeInfo.tabId, () => { chrome.tabs.executeScript({ file: 'content.js' }); }); }; chrome.tabs.onActivated.addListener(getValue); chrome.extension.onActivated.removeListener(getValue); }; getSomethingFromContent();gracias de antemano