Me gustaría recopilar todos mis enlaces de javascript a un javascript e incluirlo solo en todos mis archivos html.
Lo tengo trabajando con:
document.write('<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.js" ></script>'); ... ...Pero recibo advertencias: Se invoca un script de sitios cruzados (es decir, eTLD+1 diferente) que bloquea el analizador a través de document.write. La solicitud de red para este script PUEDE ser bloqueada por el navegador en esta carga de página o en una futura debido a una conectividad de red deficiente. Si se bloquea en la carga de esta página, se confirmará en un mensaje de consola posterior. Ver para más detalles.
¿Cuáles son las alternativas a document.write? He estado buscando pero no puedo encontrar una solución.
Tengo un pequeño ejemplo:
Archivo principal
<!DOCTYPE html> <html lang="en"> <head> </head> <body> </body> <!-- No error <script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script> --> <!-- Error --> <script type="text/javascript" src="test.js"></script> <script> $(function() { console.log("SCRIPT FUNCTION"); }); </script> </html>prueba.js
var x = document.createElement('script'); x.src = 'https://code.jquery.com/jquery-3.5.1.js'; document.getElementsByTagName("head")[0].appendChild(x);Con el script jquery declarado en el archivo html en funcionamiento cuando intento agregar el archivo jquery en test.js, aparece el error : test.html: 20 Error de referencia no capturado: $ no está definido
¿Qué tiene de malo el código cuando intento agregar el archivo js en lugar de declararlo en el archivo html?
¿Con document.write los archivos js se cargan directamente? ¿Y con append no se cargarán hasta más tarde?