mc.bench: bestehendes iframe dynamisch nachladen

moinsens forum,

mein prob betriff ein iframe.

Mit document write schreibe ich ein iframe. Dieses iframe hat eine id, ist hidden und hat noch keine src.

Nun wird ein Applet geladen. Wenn dieses geladen ist, soll ein Inhalt in das iframe geschrieben werden.

Nun dacht ich, das würde mit top.name_iframe.src = "bild.jpg" funzen.

Tut es aber nicht. Wer hat einen Tip für mich?

gruß mc.bench

  1. Nun dacht ich, das würde mit top.name_iframe.src = "bild.jpg" funzen.

    funzen???
    Eigentlich sollte gar nichts passieren?
    lass dir doch einfach mal ausgeben was du da machst:
    alert(typeof top.name_iframe)
    alert(typeof top.name_iframe.src)

    Wenn es wirklich ein (i)Frame ist, dann frage ich mich, woher die Eigenschaft 'src' kommt? In selfhtml steht jedenfalls nichts davon http://selfhtml.teamone.de/javascript/objekte/frames.htm

    Struppi.

    1. hai struppi,

      ein iframe besitzt das attribut src, welches aber nicht erforderlich ist.

      Nur wie kann ich, nachdem das iframe generiert wurde, die sourcedatei nachträglich setzten?

      viele grüße

      mc.bench

      1. ein iframe besitzt das attribut src, welches aber nicht erforderlich ist.

        [ ] Dir ist der Unterschied zwischen HTML und Javascript klar?

        Nur wie kann ich, nachdem das iframe generiert wurde, die sourcedatei nachträglich setzten?

        [ ] Du bist dem Link gefolgt, den ich dir angeboten habe?

        Struppi.

        1. Hallo Struppi,

          natürlich ist mir der Unterschied zwischen HTML und Javascript soweit klar, bin aber noch nicht so firm in Javascript.

          Der Grundgedanke des ganzen ist, das ich nach dem Start eines Applets in einem DIV ein Zählpixel ziehen muß und zwar so, das das Zählpixel die Seite, bzw. das DIV nicht neu schreibt oder ersetzt sondern das Applet wird weiter abgespielt und das Zählpixel setzt auf Serverseite den Counter ein hoch. Nur egal wie ich das Probiert habe, wurde das DIV immer replaced. Deshalb die Idee am Anfang via JS ein iframe zu schreiben und dieses später mit dem Zählpixel zu füllen. Ich weiss nur nicht ob das so möglich ist.

          Hast Du vielleicht sonst irgendwie einen Tip für mich?

          Viele Grüße

          mc.bench

          1. natürlich ist mir der Unterschied zwischen HTML und Javascript soweit klar, bin aber noch nicht so firm in Javascript.

            und ich versuch dir die ganze Zeit zu erklären, dass das HTML Attribut src unwichtig für JS ist, weil ein iFrame ein Frame oder ein window ist und wie du auf diese zu greifen kannst steht in selfhtml.

            Struppi.

            1. Hallo Struppi,

              habe das ganze jetzt so gelöst:

              document.write("<iframe style='visibility:hidden; z-index:996;' id='zaehler' src='' width='100' height='100' scrolling='No'></iframe>");

              und die Funktion

              function zaehlpixel() {
               document.getElementById("zaehler").src = test.jpg;}

              füllt das iframe nachdem das applet gestartet wurde.

              Viele Grüße

              mc.bench

              1. Hallo mc.bench

                Hallo Struppi,

                habe das ganze jetzt so gelöst:

                document.write("<iframe style='visibility:hidden; z-index:996;' id='zaehler' src='' width='100' height='100' scrolling='No'></iframe>");

                und die Funktion

                function zaehlpixel() {
                 document.getElementById("zaehler").src = test.jpg;}

                füllt das iframe nachdem das applet gestartet wurde.

                Zumindest im IE 4.x funktioniert das nicht, da er richtigerweise die Eigenschaft src nicht kennt. Das iFrame ist ein window (erwähnte ich bereits?) und dies hat das Unterobjekt location das wiederrum die Eigenschaft href hat (nachzulesen in selfhtml).

                function start()
                {
                window.frames['test'].location.href = 'test.jpg';
                }

                <iframe onload="start();" name="test" width="250" height="200" src="#"></iframe>

                Struppi.