Ho visto un sistema semplice per implementare una forma di precaricamento per ogni pagina html.
Uno script posizionato nell'head crea un livello div centrato nello schermo contenente una tabella con il testo "attendere prego..." o qualunque altra cosa per informare dell'attesa.
Alla fine della pagina c'è un'altro script che imposta quel livello div come nascosto.
In questo modo non appena viene letto l'head appare quel div, ma non appena la pagina viene scaricata per intero il div scompare e con lui anche il messaggio.

Un metodo molto semplice che però non prevede i caricamenti delle immagini.
Esiste un metodo alternativo a questo che aspetti di aver caricato tutte le immagini prima di eliminare il messaggio di attesa?