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

98
Vistas
Script tag contained in a dynamically appended DOM element does not execute

If I try to do something like this:

let div = document.createElement('DIV');
div.innerHTML="<script>console.log('test');</script>";
document.body.appendChild(div);

no message is shown. Also there are no CSP warnings / errors.

Is this a security feature?

Please do not post an answer that it is possible to inject a script tag directly, I'm aware of this.

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

0

Note: script elements inserted using innerHTML do not execute when they are inserted.

https://www.w3.org/TR/2008/WD-html5-20080610/dom.html#dynamic0

about 4 years ago · Juan Pablo Isaza Denunciar

0

As Maciej said, you cannot do that with innerHTML.

But you could write a small script that would execute (replace with a normal script) the inserted script afterwards.

const div = document.createElement('DIV');
div.innerHTML = "<script>console.log('test');<\/script>YO";
document.body.appendChild(div);

executeScriptsInNode(div);

function executeScriptsInNode(node) {
  const scripts = node.querySelectorAll('script');
  scripts.forEach(script => {
    const scriptNode = document.createElement('SCRIPT');
    scriptNode.text = script.innerHTML;
    script.parentNode.replaceChild(scriptNode, script);
  })
}

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