Creé una extensión de Chrome, la extensión necesita obtener una variable de un script para usarla en otro contexto, puedo acceder a la variable usando la consola del navegador pero no puedo acceder a ella por mi extensión usando window.VARIABLE_NAME
const getCodeBtn= document.getElementById('get-code-btn'); async function getCode() { let [tab] = await chrome.tabs.query({ active: true, currentWindow: true }); chrome.scripting.executeScript({ target: { tabId: tab.id }, function: addCode, }) } //we need to add code in a website input function addCode() { const input = document.getElementById('some-id'); const btn = document.getElementById('some-id'); input.value = window.code; //window.code is undefined console.log(window.code) // undefined btn.click(); } getCodeBtn.addEventListener('click', getCode)Todavía puedo acceder al valor de la variable en la consola del navegador
code; // 1235469Según la documentación , desde Chrome 95+ puede elegir el entorno de ejecución para ejecutar el script con el parámetro world . Entonces, para ejecutarse en el entorno de la página web, su inyección debería ser algo como:
chrome.scripting.executeScript({ target: { tabId: tab.id }, func: addCode, world: 'MAIN' })