Wie Iframe Onload "umbiegen"?
Olaf
- javascript
0 El Supremo0 Struppi
Hallo miteinander,
in einer HTML Datei test.html habe ich einen iframe, in dem andere HTML-Seiten (z.B. "Stadt_1.html") zur Überprüfung eingelesen werden. Mit einem JavaScript in test.html schaue ich, ob bestimmte Informationen in "Stadt_1.html" vorhanden sind.
Das funktioniert ganz gut, hat aber einen Schönheitsfehler. Manche dieser in den Iframe eingelesenen Seiten haben ein onload Event im
<body> definiert, das beispielsweise eine Meldung per alert ausgibt oder ein neues Popup öffnet. Das ist natürlich für die Überprüfung lästig, weil man jetzt nicht automatisch durchlaufen kann, sondern immer erst die Meldung wegklicken muss.
Gibt es denn eine Möglichkeit, dem das Ausführen von Javascripten im iframe zu verbieten bzw. das onload Event der geladenen Datei irgendwie vorübergehend "umzubiegen"? Ich habe gestern mit dem Eventlistener rumprobiert. Es ist mir zwar gelungen aus test.html heraus dem iframe.document ein zusätzliches "onload" Event zuzuweisen. Das hat das ursprüngliche Event aber nicht überschrieben. Nun werden eben zwei Funktionen ausgeführt. Zuerst die, im onload von "Stadt_1.html" definiert ist, anschließend die, die ich mit dem Eventlistener zugewiesen habe.
Geht das vorübergehende Abschalten/Umbiegen des Onload Event überhaupt, indem man beispielsweise grundsätzlich alle Events des iframe abfängt?
Vielen Dank für einen Tipp
Einen schönen Sonntag
Olaf
ich denke, mit removeAttribute() könntest du den event-handler löschen.
http://de.selfhtml.org/javascript/objekte/node.htm#remove_attribute
Gibt es denn eine Möglichkeit, dem das Ausführen von Javascripten im iframe zu verbieten bzw. das onload Event der geladenen Datei irgendwie vorübergehend "umzubiegen"? Ich habe gestern mit dem Eventlistener rumprobiert. Es ist mir zwar gelungen aus test.html heraus dem iframe.document ein zusätzliches "onload" Event zuzuweisen. Das hat das ursprüngliche Event aber nicht überschrieben. Nun werden eben zwei Funktionen ausgeführt. Zuerst die, im onload von "Stadt_1.html" definiert ist, anschließend die, die ich mit dem Eventlistener zugewiesen habe.
Wenn du Zugriff hast auf diesen Wert, kannst du es mal mit [iframe].onload = null;
probieren.
Geht das vorübergehende Abschalten/Umbiegen des Onload Event überhaupt, indem man beispielsweise grundsätzlich alle Events des iframe abfängt?
Ja sicher, wobei ich hier aber das Problem sehe, dass du schwer an den onload Event kommst, bevor die Seite geladen wurde.
Struppi.