Estoy fallando mucho al intentar importar/exportar funciones de un archivo a otro con una extensión de Chrome. Mi problema es el siguiente:
Tengo una secuencia de comandos que se carga como secuencia de comandos de contenido del archivo manifest.js. El nombre de ese script es script.js . En ese script, tengo un código como este para detectar la URL de la página web que abrí (para iniciar mi extensión):
chrome.runtime.sendMessage({ command: 'currentTab' }, (tab) => { console.log('We're in.') });
Además, en el mismo script tengo una función para adjuntar otros dos scripts que los usaré como módulos ya que tienen funciones de exportación/importación. Estos son: core.js y utils.js . La función es:
injectScript('extension.../modules/core.js'); injectScript('extension.../modules/utils.js'); function injectScript(scriptURL) { const script = document.createElement('script'); script.setAttribute('type', 'module'); script.setAttribute('src', scriptURL); const head = document.head || document.getElementsByTagName('head')[0] || document.documentElement; head.insertBefore(script, head.lastChild); }
Entonces, este primer script.js envía un mensaje al script background.js para verificar la URL de la pestaña y, si todo está correcto, insertaré como módulos mis otros dos scripts.
Ahora, cuando detecto que la URL del sitio web está bien, me gustaría ejecutar una función start () (que está en core.js ) desde este script.js principal para ejecutar todo desde core.js que usa funciones importadas de utils.js .
También detecté que si inyecto mi utils.js con el script.js , también lo inyecta a través de manifest.json. Estoy realmente atrapado aquí, muchachos. ¿Podrías echarme una mano con este lío de espaguetis?
¡Gracias!