Ein HTML-Dokument wird Zeile für Zeile "bearbeitet".
Dein JavaScript steht (hoffentlich) im Head, also weit vor Body!
Damit wird (manchmal leider) JavaScript vor dem eigentlichen Dokumenteninhalt abgearbeitet.
Das Attribut onload bedeutet, die dort angegebene Funktion/Aktion erst nach dem Laden der kompletten Seite ausgeführt wird.
Das macht dann Sinn, wenn Du im JavaScript (was ja eher ausgeführt wird) auf Elemente des HTML-Dokumentes zugreifen willst.
das kannst Du also getrost weglassen.
Grober Aufbau sollte sein:
Code:
<!DOCTYPE ...>
<html ...>
<head ...>
<title>...</title>
...
<script src="./preloader.js" type="text/javascript"></script>
</head>
<body>
...
</body>
</html>
In Deiner preloader.js lädst Du dann halt Deine GIF-Grafik und läßt die anzeigen.
Mit etwas Glück erscheint die bevor die Seite geladen wurde...
onload kannst dann verwenden, um die Grafik auszublenden...