Hallo Wolfgang,
es ist gut, wenn Du Deine Javascript-Kenntnisse selbstkritisch einschätzt; schließlich waren wir alle mal Anfänger. ;)
Aber zur Sache.
Zunächst sollte ich vorausschicken, dass ich in Sachen Javascript Anfänger bin. Nun zu meinem Problem:
[...] Dieser soll sich jedoch erst öffnen, wenn alle Frames komplett geladen sind (ca. 30 Sek.).
[...] mit "setTimeout" irgendwie bewerkstelligen lassen?
Natürlich ist das mit setTimeout() zu machen - das ist aber nur die zweitbeste Lösung, weil Du nicht vorhersehen kannst, wie lange das Laden der restlichen Frames wirklich dauert.
Besser ist es, wenn die anderen Frames "Bescheid sagen". Ich will Dir das an einem Beispiel verdeutlichen.
----------------
* Frameset:
<HEAD>
... was hier halt so hingehört ;)
</HEAD>
<SCRIPT LANGUAGE="javascript">
var Frame1Ready = 0;
var Frame2Ready = 0;
</SCRIPT>
<FRAMESET>
...
</FRAMESET>
----------------
* Frame 1 (z.B. Werbebanner):
...
<BODY ONLOAD="parent.Frame1Ready=1">
----------------
* Frame 2 (z.B. Navigation):
...
<BODY ONLOAD="parent.Frame2Ready=1">
----------------
* Hauptframe:
...
<SCRIPT LANGUAGE="javascript">
function Init()
{ if (Frame1Ready && Frame2Ready) // sind die Frames schon geladen?
{ // mach hier Deine eigentliche Initialisierung mit dem "Vorhang"
}
else
{ window.setTimeout("Init()", 1000); // schau in einer Sekunde nochmal nach...
}
}
</SCRIPT>
...
<BODY ONLOAD="Init()">
...
Hoffe, Du kannst mit diesem Vorschlag was anfangen.
Gruß,
Martin