Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

91
Vistas
Inserte una cadena con una etiqueta de script con código javascript en el DOM

Tengo una cadena que contiene una etiqueta de secuencia de script html que contiene algún código javascript. Recibo ese código de otro servidor a través de websocket .

Esa cadena contiene un código javascript que realiza algunos cambios en el DOM. entonces quiero evaluar esa cadena. Sé que la función eval() evalúa el código JavaScript representado como una cadena. Pero cuando evalúo esa cadena, obtengo un error de escape.

¿Hay alguna forma de agregar una cadena con código javascript en el DOM y realizar la evaluación de ese fragmento de código en el momento de su inserción en el DOM?

Entonces considere que tengo una chain variable como la siguiente

 let chain = "<script>console.log('test')</script>";

Quiero agregar esa cadena que es una representación de una etiqueta de script html en el DOM y quiero que se evalúe al mismo tiempo que se inserta en el DOM. Después de eso, esperaré iniciar sesión en la consola del navegador.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Creo que esto es lo que estás buscando.

Nota : Tuve que cambiar las etiquetas de cierre en la cadena de </script> a <\/script> para que el fragmento de código funcionara en SO:

 let chain = "<script>console.log('Test')<\/script>"; let code = chain.replace('<script>','').replace('<\/script>','') let script = document.createElement('script') script.onload = eval(code) document.body.appendChild(script);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Si solo desea realizar una eval en la cadena que está recibiendo, debe eliminar las etiquetas y eval la nueva cadena.

El siguiente fragmento debería funcionar bien para sus requisitos básicos. Solo recuerde que no se recomienda eval .

 let chain = "<script>console.log('test')<\/script>"; let code = chain.replaceAll(/<\/?[^<>]*>/g, ""); console.log(chain, code); eval(code);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda