• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[GELÖST] onload im iframe

Yogilein

Member
Guten Abend,

ich betreibe eine Seite mit einem iframe unter HTML 4.01.

Das iframe resize ich mit onload. Das funktioniert in allen getesteten Browsern einwandfrei. Nur der Validator sagt, dass es im iframe keine onload gibt.

Meine Frage dazu: Kann ich irgendwo auf Probleme stoßen oder kennen das mittlerweile alle Browser, da es unter HTML 5 anscheinend valide ist (zumindest meckert da der Validator nicht).

Ich wollte auch die Seite schon auf HTML 5 umschreiben, bin aber am "scrolling='no'" gescheitert, das es unter HTML 5 nicht mehr gibt. Es lässt sich bei mir nämlich nicht mit der CSS-Anweisung "overflow:hidden" ersetzen, denn die Scrollbalken bleiben weiterhin sichtbar.
 
Zuletzt bearbeitet von einem Moderator:
Kann ich irgendwo auf Probleme stoßen oder kennen das mittlerweile alle Browser, da es unter HTML 5 anscheinend valide ist (zumindest meckert da der Validator nicht).
Das sollte kein Problem sein. Sicherer ist natürlich, wenn du das onload im inneren Seitenkontext setzt.

Es lässt sich bei mir nämlich nicht mit der CSS-Anweisung "overflow:hidden" ersetzen, denn die Scrollbalken bleiben weiterhin sichtbar.
Bei welchem Tag? Beim <iframe>? Da das eigentlich eine separate Seite ist, ist es klar, dass overflow da nicht funktioniert. Die Scrollbalken werden ja auch nicht von der äußeren, sonderm von der inneren Seite erzeugt. Du müsstest in dem inneren CSS die Scrollbalken unterhinden.
 
Das sollte kein Problem sein. Sicherer ist natürlich, wenn du das onload im inneren Seitenkontext setzt.
Wie soll das gehen? Das onload ruft die Javascriptfunktion "resizeMe(this)" auf. Und auf diese Funktioen kann das iframe der Hauptseite nicht ansprechen oder gibt's da eine Möglichkeit. Ich habe das "this" schon durch den ID-Namen ersetzt, es kommt aber immer, dass das Feld unbekannt ist.

Du müsstest in dem inneren CSS die Scrollbalken unterhinden.

Das scrolling=no steht bei mir im iframe-Tag, daher habe ich es hier auch mit "overflow:hidden" versucht. Ich habe auf dein Anraten hin jetzt das "overflow=hidden" in den body-Tag der aufzurufenden Seite gesetzt, ohne Erfolg.
 
Zuletzt bearbeitet von einem Moderator:
Und auf diese Funktioen kann das iframe der Hauptseite nicht ansprechen oder gibt's da eine Möglichkeit.
Wenn die SOP da nicht im Weg ist (und das darf sie eigentlich nicht, da du sonst auch nicht die Größe des iFrame-Inhalts auslesen kannst), kannst du mit parent auf das Eltern-window-Objekt zugreifen. Dann das iFrame-Objekt zu bekommen ist etwas trickreicher, aber auch möglich: du musst durch alle iFrames durchiterieren und prüfen of .contentWindow gleich dem window der iFrame-Seite ist.
in den body-Tag der aufzurufenden Seite gesetzt
Das <html> braucht das overflow und nicht das <body>.
 
Danke kkapsner. Nachdem ich das overflow im html-Tag gesetzt habe, hat es funktioniert. Ich konnte somit die aufrufende Seite komplett in HTML5 aufbauen und auf das darin nicht valide "scrolling=no" verzichten. Und wie bereits gesagt ist in HTML der onload-Aufruf im iframe valide.

PS: Dass man im <html> das "overflow" setzen muss, war mir neu. Ich dachte immer der <body> wäre die Seite.
 
Zurück
Oben