Estoy trabajando en un proyecto en el que tengo que inyectar código js en index.html en una aplicación de reacción. Pero tengo que hacer esto sin tocar el archivo index.html en sí.
He intentado usar la etiqueta del script de 2 maneras:
let script = document.createElement("script"); script.type = "text/javascript"; script.async = true; script.src = src; document.head.appendChild(script); En el enfoque 1: agregué un archivo js externo en lugar del archivo src. Error: error Uncaught SyntaxError: Unexpected token'<'
En el enfoque 2: utilicé script.innerHTML y agregué el código completo. Error: error Uncaught SyntaxError: Invalid or unexpected token
Nota 1: Ambos errores vienen en la consola del navegador.
Nota 2: si agrego directamente el código js en index.html, todo parece funcionar
Nota 3: no he incluido el código js porque es de una biblioteca externa y podría desviar el enfoque de la pregunta, e incluso podría violar las pautas para ejemplos de código mínimo
Ninguno de los enfoques parece funcionar para mí y he estado tratando de corregir los errores, pero no he podido hacerlo. Por lo tanto, quería preguntar si hay otros métodos para hacer esto, ya que no puedo encontrar soluciones relevantes para lo mismo.
Su código funciona bien en mi navegador sin ningún error. Además de agregar la etiqueta del script, ¿hay algún otro error? Creo que hay otro error. Echa un vistazo al código de nuevo.
// Added script tag to index.html. // I created an empty file called app.js in the same location as index.html. const tag = document.createElement('script'); tag.type = "text/javascript"; tag.async = true; tag.src = './app.js'; document.head.appendChild(tag);