Hola:
Con onload solo puedes saber cuando se leyó el final de la página; (</html>)
Las imágenes (objeto image() o tag img) tienen un atributo booleano que se pone a true (cierto) cuando se ha cargado completamente... "complete"...
Busca en las FAQs javascript un mensaje sobre precarga con porcentaje donde hay un código que yo mismo puse que tal vez pueda ayudarte...
La idea es usar el onload del body para llamar a una función precarga, pero que recursivamente chequee el porcentaje da carga.
Saludos