Mathias Rauen: Opera: iframe.src

Hallöchen! Ich versuche gerade krampfhaft, meine Homepage unter Opera lauffähig zu kriegen. Im Moment komme ich an einer Stelle nicht weiter: Ich muß per JavaScript/DOM das "src"-property eines "iframe"s ändern - das klappt einwandfrei mit IE und Mozilla, aber Opera ignoriert das einfach und tut gar nix. Habt ihr irgendeinen Tip für mich? Danke!!

  1. Aloha!

    Hallöchen! Ich versuche gerade krampfhaft, meine Homepage unter Opera lauffähig zu kriegen. Im Moment komme ich an einer Stelle nicht weiter: Ich muß per JavaScript/DOM das "src"-property eines "iframe"s ändern - das klappt einwandfrei mit IE und Mozilla, aber Opera ignoriert das einfach und tut gar nix. Habt ihr irgendeinen Tip für mich? Danke!!

    Ein IFrame ist nichts anderes als ein Frame - jedenfalls aus der Sicht von Javascript.

    Ändere location.href des jeweiligen IFrames, nicht das src-Attribut in der übergeordneten Datei. Bedenke, dass Netscape 4 keine IFrames kennt - du solltest vorher also prüfen, ob das IFrame-Fensterobjekt überhaupt existiert, sonst kommt es zu unnötigen Fehlermeldungen.

    Beispielsweise:
    <iframe name="deriframe" src="seite.html">Alternativtext</iframe>

    <a href="javascript:if (deriframe) {deriframe.location.href='andereseite.html';}">Seite im IFrame wechseln</a>

    Ich hoffen, du erkennst das Prinzip. Bei Framesseiten mußt du unter Umständen mit top und parent sowie den Framesnamen operieren, um zu der Seite zu gelangen, die den Iframe enthält.

    - Sven Rautenberg

    1. Vielen Dank! Klappt super!

      Naja, IE und Mozilla arbeiten nur mit "src", nicht mit "location.href", während es bei Opera offensichtlich genau andersrum ist. Blöd, aber ist ja "normal"...

      Keine Sorge wegen Netscape 4, ich habe eine getrennte JavaScript-Unit extra für das Teil.

      Grüße... Madshi.

      1. Vielen Dank! Klappt super!

        Naja, IE und Mozilla arbeiten nur mit "src", nicht mit "location.href", während es bei Opera offensichtlich genau andersrum ist. Blöd, aber ist ja "normal"...

        Stimmt nicht!

        Ich bin zwar zuerst auch drauf reingefallen, aber mit einer kleinen Modifikation funktionierts (ansonsten: Andere Javascript-Links nehmen!):

        <a href="javascript:void(window.iframename.location.href='neuelocation');">Iframe auswechseln</a>

        Funktioniert (getestet) in IE 5.0, Opera 6 und Mozilla 1.0.

        - Sven Rautenberg