Cree un elemento temporal (p. Ej. DIV
), Asigne su código HTML a su innerHTML
propiedad y luego agregue sus nodos secundarios al HEAD
elemento uno por uno. Por ejemplo, así:
var temp = document.createElement('div');
temp.innerHTML = '<link rel="stylesheet" href="example.css" />'
+ '<script src="foobar.js"><\/script> ';
var head = document.head;
while (temp.firstChild) {
head.appendChild(temp.firstChild);
}
En comparación con la reescritura del HEAD
contenido completo a través de su innerHTML
, esto no afectaría a los elementos secundarios existentes del HEAD
elemento de ninguna manera.
Tenga en cuenta que los scripts insertados de esta manera aparentemente no se ejecutan automáticamente, mientras que los estilos se aplican correctamente. Entonces, si necesita que se ejecuten scripts, debe cargar archivos JS usando Ajax y luego ejecutar su contenido usando eval()
.