да, я до этого додумался уже, только почему то забыл написать(сел в WOT поиграть:)) 
	вот что мне пришло на в голову 
<!DOCTYPE HTML>
<html>
  <head>
    <script>
    
    
		var scr = document.createElement('script');
		   scr.type = 'text/javascript';
			  scr.id = 'DomLoadedScript';
		
			(function body_end(){
				
				try {
					
					document.body.appendChild(scr);
                      alert(document.body.innerHTML);
					} catch(e){
						
						setTimeout(body_end,0);
						}
				
				}());
    </script>
  
  </head>
  <body>
<script >
function handler(){
	alert('готов');
	
	}
</script>
<img src="http://worldoftanks.ru/dcont/fb/media/batchat_ru_june_clear/1920x1200.jpg">
<img id="img" src="http://wallpaper.goodfon.ru/image/302908-2880x1800.jpg"/>
</body>
</html>
переделал немного совю первую функцию, в боди можно добавить только после полной загрузки=)  | 
	
		
 Цитата: 
	
 
<body>
<script>
    document.body.appendChild( document.createElement('b') );
    alert( document.body.innerHTML );
</script>
<div></div>
<script>
    alert( document.body.innerHTML );
</script>
</body>
 в потоке можно делать что угодно | 
	
		
 cyber, вот на твоем примере: 
	
<!DOCTYPE HTML>
<html>
  <head>
    <script>
     
     
        var scr = document.createElement('script');
           scr.type = 'text/javascript';
              scr.id = 'DomLoadedScript';
         
            (function body_end(){
                 
                try {
                     
                    document.body.appendChild(scr);
                      alert(document.body.innerHTML);
                    } catch(e){
                         
                        setTimeout(body_end,0);
                        }
                 
                }());
    </script>
   
  </head>
  <body>
 
 
<script >
 
 
function handler(){
    alert('готов');
     
    }
</script>
<script>
    for( var i = 0; i < 10000; i++ ) {} // просто задержка, вместо задержки может быть тысяча тегов иль еще чего.
</script>
<img src="http://worldoftanks.ru/dcont/fb/media/batchat_ru_june_clear/1920x1200.jpg">
<img id="img" src="http://wallpaper.goodfon.ru/image/302908-2880x1800.jpg"/>
 
</body>
</html>
 в результате видим алерт с содержимым:
<script>
 
 
function handler(){
    alert('готов');
     
    }
</script>
<script>
    for( var i = 0; i < 10000; i++ ) {} // просто задержка, вместо задержки может быть тысяча тегов иль еще чего.
</script><script type="text/javascript" id="DomLoadedScript"></script>
 | 
	
		
 у меня такой алерт 
	
<script>
 
 
function handler(){
    alert('готов');
     
    }
</script>
<script>
    for( var i = 0; i < 10000; i++ ) {} // просто задержка, вместо задержки может быть тысяча тегов иль еще чего.
</script>
<img src="http://worldoftanks.ru/dcont/fb/media/batchat_ru_june_clear/1920x1200.jpg">
<img id="img" src="http://wallpaper.goodfon.ru/image/302908-2880x1800.jpg">
 
<script type="text/javascript" id="DomLoadedScript"></script>
 | 
	
		
 потом по тестю на большой странице. 
	а какие еще есть варианты для старых браузеров?  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
 И еще вопрос а нафига тебе это? То что давно всеми используется нормально работает.  | 
	
		
 Цитата: 
	
 вот код со страницей что бы запустить http://learn.javascript.ru/play/Xegrjb.  | 
	
		
 вот работает везде(покрайнимере я не нашел где не работате ) 
	
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	
    <script >
var DOM = {}
function ready(){
	
if(!document.addEventListener){
	
  document.addEventListener('DOMContentLoaded',DOM.loaded,false);
	
	} else {
			var scr = document.createElement('script');
		   scr.type = 'text/javascript';
		   scr.text = 'DOM.loaded()';
			  scr.id = 'DomLoadedScript';
		
			(function body_end(){
				
				try {
					
					document.body.appendChild(scr);
					} catch(e){
						
						setTimeout(body_end,0);
						}
				
				}());
		
		} 
}
DOM.loaded = function (){
	
	handler();
	 img_src();
	}
ready();
	
</script>
  
  
</head>
<body>
<script >
function img_src(){
	
	alert(document.body.innerHTML);
	}
function handler(){
	alert('готов');
	
	}
</script>
<img src="http://worldoftanks.ru/dcont/fb/media/batchat_ru_june_clear/1920x1200.jpg">
<img id="img" src="http://wallpaper.goodfon.ru/image/302908-2880x1800.jpg"/>
</body>
</html>
 | 
	
		
 Цитата: 
	
 
function DOMReady( callback ) {
  
    if ( document.readyState === "complete" ) {
        return setTimeout( callback, 1 );
    }
  
    var loaded = function( doScroll ) {
        if ( document.removeEventListener ) {
            document.removeEventListener( 'DOMContentLoaded', loaded, false );
            window.removeEventListener( 'load', loaded, false );
            loaded = null;
            callback();
        } else if ( document.detachEvent ) {
            if ( document.readyState === "complete" || doScroll === null ) {
                document.detachEvent( 'onreadystatechange', loaded );
                window.detachEvent( 'onload', loaded );
                loaded = null;
                callback();
            }
        }
    }
  
    if ( document.addEventListener ) {
        document.addEventListener( "DOMContentLoaded", loaded, false );
        window.addEventListener( "load", loaded, false );
    } else if ( document.attachEvent ) {
        document.attachEvent( "onreadystatechange", loaded );
        window.attachEvent( "onload", loaded );
  
        var toplevel = false;
        try {
            toplevel = window.frameElement == null;
        } catch( _e_ ) {}
  
        if ( document.documentElement.doScroll && toplevel ) {
            var check = function() {
                if ( !loaded ) return;
                try {
                    document.documentElement.doScroll( "left" );
                } catch( _e_ ) {
                    setTimeout( check, 0 );
                    return;
                }
                loaded( null );
            }
            check();
        }
    }
}
 | 
| Часовой пояс GMT +3, время: 14:16. |