Gernot Back: Opera 7.54 macht keine Probleme

Beitrag lesen

Hallo Eddi,

Im allgemeinen ärgere ich mich schon wieder über meinen Ansatz. Er arbeitet völlig gegen jetwede Vernunft. Im Eigentlichen sollte der iframe immer einen Scrollbalken haben, der im Falle aktiviertem JavaScripts erst entfernt wird und dann eine JS-Lösung bereit hält.

Das könnte man ja, wenn man im IFRAME erst einmal scrolling="auto" schreibt, in der Funktion pruefe() machen mit der Zeile

a.setAttribute('scrolling', 'no' , 'false');
vielleicht geht auch einfach:
a.scrolling='no';

Die Inhalte der eingebetteten Dokumente müssen in einem alles umschließenden Div-Element (quasi Einzelkind des Body-Element) stehen, da das Body-Element selbst ansonsten immer den gleichen Wert bei offsetHeight hat wie die Höhe des Iframes auf der Mutterseite, in den er als Source geladen wird. Das taugt folglich nicht als Bedingung zum Hinzufügen bzw. Entfernen der Scrollbuttons.

Doch doch...
Bei der index.html hast Du wenigstens noch den Doctype <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> vergeben, jedoch nicht mehr bei der voll.html.

Wenn ich mich recht erinnere, so wird auch beim IE 6 mit der exakten Angabe (<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">) jedenfalls jedoch in der Variante strict der body nicht auf die gesamte Anzeigefläche ausgedehnt.

Was dennoch rechtkurzsichtig ist, da Deine Methode prinzipiell auch ältere Browser mitmachen.

Da war ich eben quick and dirty, aber wenn dabei sogar allgemeingültigere Lösungen herauskommen, ist es ja sogar gut.
Deshalb fand ich auch deinen Schnellschuss gar nicht so verkehrt. Ich finde, wir sollten uns alle hier im Forum auch mal mehr trauen Fehler zu machen, daran lernen wir ja dann alle was.

http://www.sprachlernspiele.de/scroll

Opera 7.11 generiert zwar die Buttons, je nachdem, ob zuerst die Seite 'voll.html' oder 'leer.html' geladen wird dynamisch, hat aber aufgrund irgendwelcher Umstände Probleme mit meiner Funktion 'change()'. Vielleicht packt das aber eine neuere Version von Opera.

Ich habe gestern auf Opera 7.54 geupdatet. Jetzt läuft es auch da ohne Veränderung am Code, wie ich vermutet habe. Opera 7.11 zickt nämlich, wie ich an einem anderen Projekt feststellen musste, auch bei setAtrribute(), rendert die geänderten Werte am Bildschirm nicht, gibt sie aber über alert() als geändert aus. Da war ich es leid.

Gruß aus Köln

Gernot