Adam Wille
Erfahrenes Mitglied
Hi Leute. 
Da in letzter Zeit die Frage zweimal auftauchte und imho irgendwie nie 'ne ausführlichere Lösung hier angeboten wurde, hab ich mich mal hingesetzt und mich dem Problem mit dem Vorladen von HTML-Seiten durch einen Flash-Film beschäftigt.
Ich muss dazu sagen, dass ich jedoch mit der Einstellung da rangegangen bin, dass kein Flash-Plugin allein in der Lage ist, einen Preloading-Vorgang vorzunehmen, sondern dass das nur unter Zuhilfenahme eines JavaScriptes möglich sei.
Das Problem lag also in diesem Beispiel hier nur an der Kommunikation zwischen JavaScript und dem Flash-Film.
(naja - und natürlich dem JavaScript an sich
)
Dies basiert im Prinzip auf der Vergabe eine ID-Namens für den Flash-Film innerhalb des HTML-Dokumentes, in den er eingebettet wurde.
<object classid="clsid: D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
width="300" height="300" id="preload" align="">
<param name=movie value="preload.swf"> <param name=quality value=high> <param name=bgcolor value=#FFFFFF> <embed src="preload.swf" quality=high bgcolor=#FFFFFF width="300" height="300" name="preload" align=""
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>
</object>
Diese beiden fett unterlegten Teile des <object>-, bzw. <embed>-Tags zur Einbindung des Flash-Filmes müssen also übereinstimmen und bilden dann die Referenz für JavaScript.
Es wird also per JSCript der Vorlade-Vorgang durchgeführt.
Dann heißt es, die erhaltenen Variablen aus dem Script Flash zukommen zu lassen - das geschieht im Beispiel über die Syntax:
preload.setVariable("variable", wert);
Dadurch wird also im Objekt "preload" - sprich unserem Flash-Film - der Wert der Variablen ""variable" mit dem Wert der im JSCript vorhandenen Variable "wert" gleichgesetzt.
Das wird dann natürlich noch für mehrere Variablen genutzt und schon hat man eine ganze Menge Variablen in Flash zur Verfügung, mit deren Hilfe man eine Visualisierung des Preloading-Prozesses recht ordentlich darstellen kann.
An Einstellungen sollte getroffen werden können:
Anschauen könnt ihr euch das gerne mal hier:
Preloading von Image-Dateien mithilfe eines Flash-Filmes
(zur Not halt mal den Temp-Internet-Files-Ordner löschen
)
Ich habe natürlich auch die *.fla zusammen mit allen Beispieldateien nochmal gezippt und auch mit auf den Server gestellt:
gezippte Dateien
Wie ihr somit sicherlich schon gemerkt habe, basiert das System nicht auf dem direkten Vorladen einer HTML-Datei, sondern halt hier nur auf dem Vorladen von Bildern, die aber auf den meisten HTML-Seiten den größten und dateilastigsten content darstellen.
Ich hoffe, etwas Licht ins Dunkel gebracht zu haben, falls es vorhanden war.
Bei Verbesserung, Vorschlägen oder Kritik - her damit.
Geist

Da in letzter Zeit die Frage zweimal auftauchte und imho irgendwie nie 'ne ausführlichere Lösung hier angeboten wurde, hab ich mich mal hingesetzt und mich dem Problem mit dem Vorladen von HTML-Seiten durch einen Flash-Film beschäftigt.
Ich muss dazu sagen, dass ich jedoch mit der Einstellung da rangegangen bin, dass kein Flash-Plugin allein in der Lage ist, einen Preloading-Vorgang vorzunehmen, sondern dass das nur unter Zuhilfenahme eines JavaScriptes möglich sei.
Das Problem lag also in diesem Beispiel hier nur an der Kommunikation zwischen JavaScript und dem Flash-Film.
(naja - und natürlich dem JavaScript an sich

Dies basiert im Prinzip auf der Vergabe eine ID-Namens für den Flash-Film innerhalb des HTML-Dokumentes, in den er eingebettet wurde.
<object classid="clsid: D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
width="300" height="300" id="preload" align="">
<param name=movie value="preload.swf"> <param name=quality value=high> <param name=bgcolor value=#FFFFFF> <embed src="preload.swf" quality=high bgcolor=#FFFFFF width="300" height="300" name="preload" align=""
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>
</object>
Diese beiden fett unterlegten Teile des <object>-, bzw. <embed>-Tags zur Einbindung des Flash-Filmes müssen also übereinstimmen und bilden dann die Referenz für JavaScript.

Es wird also per JSCript der Vorlade-Vorgang durchgeführt.
Dann heißt es, die erhaltenen Variablen aus dem Script Flash zukommen zu lassen - das geschieht im Beispiel über die Syntax:
preload.setVariable("variable", wert);
Dadurch wird also im Objekt "preload" - sprich unserem Flash-Film - der Wert der Variablen ""variable" mit dem Wert der im JSCript vorhandenen Variable "wert" gleichgesetzt.
Das wird dann natürlich noch für mehrere Variablen genutzt und schon hat man eine ganze Menge Variablen in Flash zur Verfügung, mit deren Hilfe man eine Visualisierung des Preloading-Prozesses recht ordentlich darstellen kann.

An Einstellungen sollte getroffen werden können:
- Dateinamen der Bilder, die vorzuladen sind
- URL zu welcher weitergeleitet werden soll, wenn das Vorladen erfolgreich war
- "Skip"-Button innerhalb des Flash-Filmes verfügbar oder nicht
Anschauen könnt ihr euch das gerne mal hier:
Preloading von Image-Dateien mithilfe eines Flash-Filmes
(zur Not halt mal den Temp-Internet-Files-Ordner löschen

Ich habe natürlich auch die *.fla zusammen mit allen Beispieldateien nochmal gezippt und auch mit auf den Server gestellt:
gezippte Dateien
Wie ihr somit sicherlich schon gemerkt habe, basiert das System nicht auf dem direkten Vorladen einer HTML-Datei, sondern halt hier nur auf dem Vorladen von Bildern, die aber auf den meisten HTML-Seiten den größten und dateilastigsten content darstellen.
Ich hoffe, etwas Licht ins Dunkel gebracht zu haben, falls es vorhanden war.

Bei Verbesserung, Vorschlägen oder Kritik - her damit.

Geist