Следующее изменение - все, что мне нужно для вашего (обновленного) кода, чтобы он работал в Firefox:
var root = document.body;
(Или присвойте идентификатор элементу тела, в любом случае.)
После этого возникает вопрос: «С каким браузером вы тестируете?»
Это не будет работать в IE до версии 9, потому что более старые версии IE не поддерживают .addEventListener()
или DOMContentLoaded
событие.
В IE7 у меня работало следующее (единственная версия IE, с которой я должен тестировать):
if (document.addEventListener)
document.addEventListener('DOMContentLoaded', load, false);
else if (window.attachEvent)
window.attachEvent('onload',load);
else
window.onload = load;