Erkennen, wenn Iframe Inhalt wechselt
eBody
- javascript
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
Wie kann ich jetzt den wirklichen Inhalt des Iframes erkennen?
Gar nicht, wenn es eine fremde Domain ist.
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
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
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
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
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.