Rolf B: Daten aus iFrame auslesen

Beitrag lesen

Hallo KlausV,

grundsätzlich müssen die HTML Seite, die den iframe enthält, und der Inhalt des iframe vom gleichen Origin kommen (Protokoll, Hostname, Port, z.B. https://example.org:4711 (Protokoll https, Hostname example.org, Port 4711)

D.h. wenn deine Notes-Seite von https://xysite.notes.intranet/bla/fasel/tolleseite.jsp (oder ähnlichem) kommt, dann MUSS deine Rahmenseite von https://xysite.notes.intranet stammen, andernfalls lässt der Browser den Zugriff nicht zu, um zu vermeiden, dass jemand wildfremde Seiten im iframe hostet und Daten aberntet.

(Nachdem ich gerade die Spec gelesen habe, stimmt das vermutlich nicht ganz, aber da ich das Konzept der origin-domain in der Spec gerade nicht kapiere und das sowieso etwas obsoletes sein soll, hoffe ich, eine gute Näherung aufgeschrieben zu haben).

Wenn der Origin stimmt, dann hat das DOM Element zum iframe die Eigenschaft contentWindow, von da kommst Du ans document und an alle Inhalte.

Die Alternative ist, mittels AJAX die HTML Seite in eine Variable zu laden statt in einen iframe, ein Document-Objekt daraus zu erzeugen und darin herumzuturnen. Setzt aber ebenfalls same origin voraus und geht schief, wenn die Seite ohne Script keinen brauchbaren Inhalt liefert.

Rolf

--
sumpsi - posui - obstruxi