Создайте временный элемент (например DIV
), назначьте свой HTML-код его innerHTML
свойству, а затем добавьте его дочерние узлы к HEAD
элементу один за другим. Например, вот так:
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);
}
По сравнению с перезаписью всего HEAD
содержимого через него innerHTML
, это никак не повлияет на существующие дочерние элементы HEAD
элемента.
Обратите внимание, что скрипты, вставленные таким образом, по-видимому, не выполняются автоматически, а стили применяются успешно. Поэтому, если вам нужно выполнить скрипты, вы должны загрузить файлы JS с помощью Ajax, а затем выполнить их содержимое с помощью eval()
.