Stiefel: Animationen mit innerHTML einfügen.

Hallo Freaks!

Ich habe einen Script erstellt, das Bilder in einem anderen Frame laden soll.
Zuerst habe ich dazu folgende Syntax benutzt:

parent.main.show.innerHTML='<img src="001.gif">';

main: der Zielframe
show: des Zielelement (<div id"show"></div>)

Da die Bilder fortlaufend nummeriert sind, generiere ich den einzufügenden Code jetzt automatisch. Das Ergbnis ist aber das selbe:
Beim ersten mal klappt's wunderbar (IE5.01), wird die Funktion aber erneut aufgerufen, stehen die Bilder (sind nämlich Animationen).
Die Funktion selber macht übrigens keine Fehler. Es kommt nicht darauf an, wie oft *sie* aufgerufen wird, sondern ob die Animation schon mal angezeigt wurde.

Meiner Meinung nach ist das ein Bug, aber damit will ich mich nicht abfinden...

Ein komplettes Beispiel habe ich auf die Adresse da unten geladen.
Mit Netscape funktioniert es gar nicht. Why?

Mich würde auch interessieren, was andere Versionen als IE5.01 machen?

  1. Nachtrag:

    Habe geschrieben die Adresse folge unten, steht aber oben... oder hier:

    http://www.stiefelweb.de/test/

  2. Hi,

    Beim ersten mal klappt's wunderbar (IE5.01), wird die Funktion
    aber erneut aufgerufen, stehen die Bilder (sind nämlich
    Animationen).

    Da wirst du dich mit abfinden muessen: das ist der IE-Cache-Bug.

    Die Funktion selber macht übrigens keine Fehler. Es kommt nicht
    darauf an, wie oft *sie* aufgerufen wird, sondern ob die
    Animation schon mal angezeigt wurde.

    Klar - wurde sie schonmal angezeigt, ist sie im Cache - und schon
    tritt der Fehler auf ,)

    Ein komplettes Beispiel habe ich auf die Adresse da unten geladen.
    Mit Netscape funktioniert es gar nicht. Why?

    Weil du im NN nicht einfach so auf alle HTML-Tags zugreifen darfst.
    Im NN muss das ein Layer sein, bzw. ein DIV mit dem Attribut
    "position:absolute;".
    Im NN muesstest du das ungefaehr so machen:

    parent.main.document.layers['show'].visibility = "hidden";

    parent.main.document.layers['show'].document.open();
    parent.main.document.layers['show'].document.write("<img....");
    parent.main.document.layers['show'].document.close();

    parent.main.document.layers['show'].visibility = "visible";

    Steht ueberigens alles in Self.

    mfg
    CK1