Избавляемся от внешнего файла

У описанного решения существует пара минусов:

Однако есть решение и для Internet Explorer, которое не зависит от внешних файлов (к сожалению, на данный момент вызывает предупреждение безопасности в IE7 при использовании защищенного соединения):

// для Internet Explorer (используем условную компиляцию)
/*@cc_on @*/
/*@if (@_win32)
document.write("<script id=\"__ie_onload\" defer=\"defer\" src=\"javascript:void(0)\">
<\/script>");
var script = document.getElementById("__ie_onload");
script.onreadystatechange = function() {
        if (this.readyState == "complete") {
               init(); // вызываем обработчик для onload
        }
};
/*@end @*/

И для Safari!

if (/WebKit/i.test(navigator.userAgent)) { // условие для Safari
        var _timer = setInterval(function() {
               if (/loaded|complete/.test(document.readyState)) {
                       clearInterval(_timer);
                       init(); // вызываем обработчик для onload
               }
        }, 10);
}