Как уже упоминалось @epascarello для стандартных браузеров W3C, вы должны использовать:
body.addEventListener("load", init, false);
Однако, если вы хотите, чтобы он работал и в IE <9, вы можете использовать: </p>
var prefix = window.addEventListener ? "" : "on";
var eventName = window.addEventListener ? "addEventListener" : "attachEvent";
document.body[eventName](prefix + "load", init, false);
Или, если хотите, в одну строку:
document.body[window.addEventListener ? 'addEventListener' : 'attachEvent'](
window.addEventListener ? "load" : "onload", init, false);
Примечание: здесь я получаю прямую ссылку на элемент body через документ, сохраняя необходимость в первой строке.
Кроме того, если вы используете jQuery и хотите использовать событие DOM ready
вместо тела load
s, ответ может быть еще короче ...
$(init);