Crie um elemento temporário (por exemplo DIV
), atribua seu código HTML à sua innerHTML
propriedade e, em seguida, anexe seus nós filhos ao HEAD
elemento, um por um. Por exemplo, assim:
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);
}
Em comparação com a reescrita de todo o HEAD
conteúdo por meio de seu innerHTML
, isso não afetaria os elementos filhos existentes do elemento de HEAD
forma alguma.
Observe que os scripts inseridos dessa forma aparentemente não são executados automaticamente, enquanto os estilos são aplicados com sucesso. Portanto, se você precisar que scripts sejam executados, deve carregar os arquivos JS usando Ajax e, em seguida, executar seu conteúdo usando eval()
.