eBody: Erkennen, wenn Iframe Inhalt wechselt

hallo,

wie kann man erkennen, ob der inhalt des iframes gewechselt hat. im html code bleibt der code ja gleich.

<a href="http://forum.de.selfhtml.org/" target="testframe">Link</a>  
<iframe width="100%" height="100%" src="http://forum.de.selfhtml.org/hilfe/faq.htm" name="testframe">  
</iframe>

Nachdem man auf den Link klickt, ist der Inhalt von src immer noch http://forum.de.selfhtml.org/hilfe/faq.htm

Wie kann ich jetzt den wirklichen Inhalt des Iframes erkennen?

Gruß
eBody

  1. Wie kann ich jetzt den wirklichen Inhalt des Iframes erkennen?

    Gar nicht, wenn es eine fremde Domain ist.

  2. Hallo,

    Wie kann ich jetzt den wirklichen Inhalt des Iframes erkennen?

    Über frames.testframe.location.href

    http://aktuell.de.selfhtml.org/artikel/javascript/fensterzugriff/
    http://de.selfhtml.org/javascript/objekte/location.htm

    Allerdings gelingt der Zugriff nicht, wenn die Seite in Iframe von einer anderen Domain stammt. Die Same-Origin-Policy verhindert dann den Zugriff auf die Adresse aus Sicherheitsgründen.

    Mathias

    1. Hi,

      ja das macht sinn, vielen dank.

      das problem ist jetzt, dass anscheinend nicht erkannt wird, wenn eine neue seite in das iframe geladen wird.

      im iframe habe ich nun ein onload eingebaut <iframe onload="iframeLoaded()"...

      aber die funktion iframeLoaded() (aktuell einfach nur ein alert (frames.testframe.location.href) enthält, die wird nicht noch mal aufgerufen.

      Es werden auch keine Javascript Fehler angezeigt.

      Warum wird die Funktion nicht erneut aufgerufen, wenn ich auf den Link klicke und die neue Seite ins Iframe geladen wird?

      Gruß
      eBody

      1. Om nah hoo pez nyeetz, eBody!

        das problem ist jetzt, dass anscheinend nicht erkannt wird, wenn eine neue seite in das iframe geladen wird.

        Falls die Seite von einer anderen Domain stammt:

        Was hast du an "Allerdings gelingt der Zugriff nicht, wenn die Seite in Iframe von einer anderen Domain stammt. Die Same-Origin-Policy verhindert dann den Zugriff auf die Adresse aus Sicherheitsgründen." nicht verstanden?

        Matthias

        --
        1/z ist kein Blatt Papier.

        1. Was hast du an "Allerdings gelingt der Zugriff nicht, wenn die Seite in Iframe von einer anderen Domain stammt. Die Same-Origin-Policy verhindert dann den Zugriff auf die Adresse aus Sicherheitsgründen." nicht verstanden?

          Oh sehr freundlich. Ich hatte vergessen zu schreiben, dass in meinem script die dateien alle von der gleichen domain geladen werden. hier in dem beispiel was ich verwendet hatte, waren es glaube ich 2 unterschiedliche domains.

          also das problem besteht weiterhin, was ich eben geschrieben habe, obwohl das iframe seiten von der domain lädt, wo es selber liegt.

          Gruß
          eBody

  3. Ich habe es jetzt so gelöst, dass ich in die erste Seite, die in das IFrame geladen wird, ein <body onunload="parent.top.iframeLoaded()"> eingebaut habe, somit reagiert das script, sobald sich die seite ändert.