Tengo tres archivos html a.html , b.html y c.html
Todos ellos llaman a index.js .
Dentro de index.js , estoy importando una variable de a.js , b.js y c.js Según el archivo html llamado index.js , quiero usar la variable del archivo js correspondiente dentro de index.js.
No me es posible eliminar index.js porque contiene lógica, que es necesaria para otras tareas.
Algunas aclaraciones más:
index.js
if calling_html == a.html: import {variable} from a.js else if calling_html == b.html: import {variable} from b.js else import {variable} from c.js ¿Cómo encontrar calling_html ?
Sugeriría mirar esta publicación: ¿Cómo pasar parámetros a una etiqueta de Script?
Básicamente, pasa un valor en la etiqueta del script, que le dice al script index.js desde qué archivo lo está cargando.
y luego usar
document.currentScript.getAttribute()Editar: lo encuentro menos recomendable, pero si lo desea, también puede usar:
la
window.locationatributo
usando ventana.ubicación.href, o ventana.ubicación.nombreruta
Alternativamente, lo que se muestra aquí:
https://www.sitepoint.com/get-url-parameters-with-javascript/
haciendo algo como
const urlParams = new URLSearchParams(ventana.ubicación.búsqueda); const llamador = urlParams.get('llamador');
Y cargue su página a.html con "[...]a.html?caller=a"
Ahora, con todo lo dicho, supongo que no desea definir una constante global con una etiqueta de script de encabezado en la página antes de usar index.js como en
<head> //called before loading any other script <script>const caller='a.html';</script> // Rest of the header </head> // somewhere else <script src="./index.js" />y
<head> //called before loading any other script <script>const caller='b.html';</script> // Rest of the header </head> // somewhere else <script src="./index.js" /><script scr="./a.js" defer> // const a = 5 </script> <script scr="./index.js" defer> // const myVariable = b || c || a </script>Dado que está definiendo sus variables globalmente, no necesita importarlas. Solo necesita asegurarse de que estén definidos y analizados antes de su archivo index.js en HTML. Después de hacer esto, simplemente puede acceder a esas variables de esta manera:
const myVariable = a || b || c;Por ejemplo, si está en la página c, a y b no estarán definidos porque simplemente no existen en esa página, entonces c será su valor.