StageListener wird vom IE nicht angesprochen

skomsnaes

Mitglied
Hallo zusammen,

ich habe mir ein kleines Flashprogramm gebaut, dass Dinge tun soll, wenn die Bühne in der Größe verändert wird. Dazu habe ich folgendermaßen einen StageListener hinzugefügt.

Code:
StageListener = new Object(); 
StageListener.onResize = function () 
{
...
};

Stage.addListener(StageListener);

Das funktioniert beim Testen soweit auch, aber leider musste ich feststellen, dass die "Resize" Message vom Explorer immer nur dann geschickt wird, wenn ich das Fenster diagonal verändere oder halt mini- oder maximiere. Das ist erstmal nicht schön, aber noch nicht ganz so schlimm. Wirklich blöd ist, dass die Message bei meinem Flash Film anscheinend gar nicht mehr anzukommen scheint, sobald ich den in einem Frame einbette. Das würde mein komplettes Konzept in die Tonne schieben:mad: .

Kann man das vielleicht irgendwie umgehen?
 
Hi,

wenn Du den Film in einen Frame einbettest (wie machst Du das - verlinkst Du direkt die swf als Framequelle, oder verwendest Du Object- und Embed-Tags?) wird - abhängig von der Skalierung des Frames - nicht immer ein Resize-Ereignis ausgelöst.

Um Dir mehr sagen zu können, müsste ich die entsprechenden html-Dateien sehen.

Gruß
.
 
Hallo Tobias, man bist Du schnell,... ;)

Also, ich binde in das Frameset eine html Datei ein, die dann die swf über ein <object> tag einbettet. Wenn ich das swf direkt verlinke passieren ganz merkwürdige Sachen,... das geht zwar auch, aber dann verhält sich die eingebettete Datei wie im swf Player, macht bei Skalierung also diesen pseudo Zoom mit.

Die Sache bei den Frames ist, dass die in der horizontalen Achse fest sind. kann das der Haken sein?

Wenn Du Dir die html Dateien ansehen möchtest, die habe ich unten angehängt.
 

Anhänge

  • 25275attachment.zip
    1,2 KB · Aufrufe: 13
Ich dreh durch, das liegt tatsächlich daran, dass es bei eben diesem Frame, in das der Film eingebettet ist, nur die vertikale Skalierung gibt. Sobald ich die rechte Kante nicht festsetze, sondern variabel mache funktioniert die Methode. Anosnsten, so habe ich mittlerweile herausgefunden, ändert sich für den Film nicht mal die Größe der Bühne! Als ob der @!X%& Explorer sich da einfach nur drüber schiebt.
Passt aber auch zu der Beobachtung, dass es auf einmal einen Scrollbalken gibt, wenn man die Fenstergröße (auch ohne Frames, nur bei einer html Datei mit 100% Höhe) vertikal verändert.

;-] Das finde ich grad richtig blöd!!

Weiß evtl. noch jemand einen anderen Weg?
 
Hi,

Möglichkeit a: Wenn der Browser im Quirks-Mode läuft, sollte es auch so funktionieren. Entferne dazu die Doctype-Deklaration.

Möglichkeit b: Setze den Flashfilm in ein DIV mit absoluter Positionierung und 100% der Fenstergröße:
HTML:
<div style="position:absolute;height:100%;width:100%;">
  <!-- hier der Flashfilm -->
</div>

Gruß
.
 
Danke!!

Ich hab mich spontan für Möglichkeit a entschieden, funktioniert wunderbar.

(Aber verstehen tu ich das trotzdem nicht, man muss aber ja auch nicht alles verstehen,...)

Noch mal Danke!
 
Die Höhenangabe für nicht absolut positionierte Objekte (height=100%) validiert nicht unter diesem Doctype.

Gruß
.
 
Zurück