Вопсчем так... на вопрос "Почему рушится ИЕ" ответа пока не нашёл... Возможно нужно просто логически подумать... Но нашел способ, который обойдёт ентот баг.
Вопсчем задачи у нас такие:
1. Имеем тег base с установленным атрибутом href в значение / или в любое другое.
2. Скриптом. расположенным в хэде необходимо вставить скрипт/стиль/мета и т.д в тот же хэд.
3. Не упасть.
Вопсчем решение такое. Незнаю почему, но падение вызвано методом appendChild. Вместо этого мы можем использовать и другие методы дом, например, такие, как insertBefore.
Еси поправить наш скрипт, то получим такое:
<base href="/" />
<script type="text/javascript">
var head=document.documentElement.firstChild;
var js=document.createElement('script');
js.type='text/javascript';
js.src='script.js';
head.insertBefore(js,document.documentElement.firstChild.lastChild);
</script>
Скажу сразу, что этот код не будет работать, т.к. у нас неправильно установленно значение href для base. Если мы не можем его исправить - путь к скрипту указываем полный. Если можем - правим на правельный и тогда все относительные ссылки у нас будут рабочими.
По поводу конструкции
document.documentElement.firstChild.lastChild
.
Код
document.documentElement.firstChild
получает наш хэд(можно и по-другому), а lastChild указывает нам на узел, перед которым нужно вставлять то, что требуецца. Узел может быть любым, хоть первым, хоть последним.
Вот собсно и всё.