onLoad und verschiedene Browser? [MX2004]

Tobias Menzel

Erfahrenes Mitglied
Hi

ich arbeite gerade an meiner neuen Seite und bin auf ein merkwürdiges Problem gestoßen:

Im ersten Frame der Hauptzeitleiste werden beim Ereignis onLoad einige Initialisierungsfunktionen aufgerufen (unter anderem die Zuweisung der Beschriftungen/Aktionen des DropDown-Menüs).

Nun habe ich aus bestimmten Gründen eine Art "externen" Preloader verwendet, der den Hauptfilm unsichtbar lädt (womit er im Browsercache ist) und direkt danach eine neue Seite mit diesem Film als _root aufruft. im InternetExplorer läuft auch alles wie es soll, in Netscape 7.1 und Mozilla Firebird wird das onLoad-Ereignis aber anscheinend nach der Weiterleitung nicht mehr aufgerufen.

Das kann ich prinzipiell verstehen, da sich der Film ja schon im Cache befindet (und umgehen, indem ich die Initialisierungen z.B. in den ersten Aufruf einer onEnterFrame-Funktion setze) - was mich wundert ist, dass sich das PlugIn in den verschiedenen Browsern unterschiedlich verhält. In allen Browsern läuft Flash-Player 7.

Kennt jemand dieses Verhalten bzw. kann mir mehr über den Datenaustausch zwischen PlugIn und Cache in diversen Browsern sagen?

Danke.

P.S.: die Weiterleitung ist natürlich keine elegante Lösung und ich werde das noch ändern - leider habe ich im Moment in etlichen nachgeladenen Unterfilmen Verweise auf _root (da ich zur Kommunikation zwischen 2 Unterfilmen sonst 10 Ebenen hinauf und wieder hinunter müsste (_parent._parent_parent ... ) und ein interner Preloader scheidet aus, da ein Großteil der Datenmenge ins erste Bild exportiert wird.
 
Zuletzt bearbeitet:
Indeed -

wenn du den einfachen Test machst, und ein ?Zufallszahl an deinen Flash Aufruf machst, dann funktionert der onLoad Handler wieder (ist natürlich sinnlos, weil du ja preloaden wilst) - was bei mir nach längerem nachdenken funktioniert hat (Danke das du mich heute auch mal Brötchen verdienen lässt ..)ist das laden des Flash FIlmes in einen Container in einem anderen Flash Film und der danach folgende Aufruf als _root - Film mit onLoad, ich bin mir aber nicht sicher, ob ich dein Konstrukt richtig nachgebaut habe ...

Grüsse
B

PS: Frag mich nicht warum, kein Ahnung
 
Hi,

ist das laden des Flash FIlmes in einen Container in einem anderen Flash Film und der danach folgende Aufruf als _root - Film mit onLoad, ich bin mir aber nicht sicher, ob ich dein Konstrukt richtig nachgebaut habe ...
... wenn ich das richtig verstehe...

Was ich gemacht habe ist:
  • index.html mit dem Preloader erstellt
  • Laden des späteren Hauptfilmes in einen unsichtbaren Container und Progressanzeige
  • beim onLoadComplete Aufruf der 2. Seite mit dem Hauptfilm.
  • dieser erfordert, dass onLoad feuert...
was im IE wie gesagt auch problemlos funktioniert, in den anderen Browsern jedoch nicht... seltsam, da die Variablen und Objekteigenschaften ebenfalls nicht im Cache bleiben.

Beholfen habe ich mir nun erst einmal mit besagtem Aufruf in onEnterFrame, bis ich mir die Mühe mache, in meinen Verweisen ein "container" mehr einzubauen. :-)

danke jedenfalls für die Mühe, die Du Dir gemacht hast - von der Arbeit abhalten wollte ich Dich natürlich nicht.

BTW: es gibt nicht zufällig eine Möglichkeit, Verweise auf MC-Instanzen "global" zu definieren, so dass ich z.B. einen Clip immer mit seinem Bezeichner ansprechen kann, egal wo ich mich befinde?

Gruß
 
onClipEvent (load){
_root.deinPointer = this;
}
dann kannst du mit dem Pointer arbeiten, egal wo der clip ist, du musst dir aber den Pointernamen merken..... auch nicht perfekt ..

Grüsse
B
 
:-) (an die Stirn schlag) klar, ist nicht perfekt, aber in diesem Fall genau das, was ich brauche - manchmal sieht man den Wald vor lauter Bäumen nicht, denn ich lege manche Variablen und Funktionen die ganze Zeit schon so an, aber quäle mich dennoch mit Konstruktionen wie:
PHP:
sisterForm = _root.bar1.container.win1.container.container.mailform.container;

Gruß
 
Zurück