Supportnet / Forum / Webseiten/HTML
Frameset und Internet Explorer
Frage
Hallo,
ich habe folgendes Frameset:
<frameset cols="130,*,100" border="0" framespacing="0" frameborder="no">
<frame src="navigation.html" name="navi" noresize>
<frameset rows="85,*" border="0" framespacing="0" frameborder="no">
<frame src="logo.html" name="top" noresize>
<frame src="aktuell.html" name="main" noresize>
</frameset>
<frame src="links.html" name="linkpage" noresize>
</frameset>
Wird in allen Browsern fehlerfei dargestellt, außer im IE. Die Breite des rechten Frames (linkpage) müsste eigentlich reichen, denn alle Grafiken darin sind jeweils lediglich 90px breit. Der linke Frame (navi) wird auch prima dargestellt. Der Code des Frames "linkpage":
<body>
<p><b>Links</b></p>
<p><a href="http://www.xyz.de" target="_blank" title="Zur Homepage von xyz"><img src="logos/xyz.gif" width="90" height="36" border="0" alt="Link auf externe Seite: Zur Homepage von xyz"></a></p>
<p><a href="http://www.zyx.de" target="_blank" title="Zur Homepage von zyx"><img src="logos/zyx.gif" width="90" height="42" border="0" alt="Link auf externe Seite: Zur Homepage von zyx"></a></p>
</body>
Der IE ist der einzige Browser, der im Frame "linkpage" einen horizontalen Scrollbalken einblendet. Dramatisch wirds bei 800x600px; dort blendet der IE auch im mittleren Frame einen horizontalen Scrollbalken ein. Opera, Mozilla, Firefox und Netscape blenden wie gewünscht nur den vertikalen Scrollbalken ein.
Weiß jemand, woran das liegt? Und wie man dem abhelfen kann?
Vielen Dank im Voraus
MoRe99
Antwort 1 von Dr.Ma-Busen
Antwort 2 von MoRe99
Hat mir nicht wirklich weiter geholfen, aber dennoch danke für den Hinweis! Geholfen hat aber, nach langem Probieren, folgendes. Ich habe aus den Dokumenten, die in die Frames geladen werden, ganz oben die Zeile
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
entfernt. Tja, nun macht's der IE genauso wie firefox, Mozilla und andere: kein vertikaler Scrollbalken mehr, auch nicht bei Verkleinerung des Browserfensters.
Hat jemand eine Idee, woran das nun liegen kann? Kann es daran liegen, dass der HTML-Code, vielleicht in Verbindung mit CSS, eventuell fehlerhaft ist? Hatte allerdings den HTML-Code validiert, und der entsprach HTML 4.01 strict. Und auch die dazugehörige CSS-Datei war nach CSS 2.0 OK.
Ich kapier's einfach nicht ...
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
entfernt. Tja, nun macht's der IE genauso wie firefox, Mozilla und andere: kein vertikaler Scrollbalken mehr, auch nicht bei Verkleinerung des Browserfensters.
Hat jemand eine Idee, woran das nun liegen kann? Kann es daran liegen, dass der HTML-Code, vielleicht in Verbindung mit CSS, eventuell fehlerhaft ist? Hatte allerdings den HTML-Code validiert, und der entsprach HTML 4.01 strict. Und auch die dazugehörige CSS-Datei war nach CSS 2.0 OK.
Ich kapier's einfach nicht ...
Antwort 3 von m-a-d
Hallo MoRe99
Schau mal in SelfHTML in das Kapitel "Framesets und Frames definieren". Dort wird dein Problem behandelt. Für Frameset gibt es einen eigenen "DOCTYPE":
NDT
m-a-d
Schau mal in SelfHTML in das Kapitel "Framesets und Frames definieren". Dort wird dein Problem behandelt. Für Frameset gibt es einen eigenen "DOCTYPE":
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">NDT
m-a-d
Antwort 4 von MoRe99
Hi m-a-d,
danke auch für deinen Hinweis, aber das behebt das Problem leider auch nicht. Wenn ich die von dir angegebene Zeile in die einzelnen Seiten einfüge tritt der unerwünschte horizontale Scrollbalken nämlich wieder auf. :-( Die einzelne Seite wird ja in den frame geladen; enthält aber eigentlich keinerlei frametypischen Elemente wie z. B. beim einem Link das 'target="rechts"'.
Wie gesagt, alle anderen Browser haben damit keinerlei Probleme, nur der IE. :-(
danke auch für deinen Hinweis, aber das behebt das Problem leider auch nicht. Wenn ich die von dir angegebene Zeile in die einzelnen Seiten einfüge tritt der unerwünschte horizontale Scrollbalken nämlich wieder auf. :-( Die einzelne Seite wird ja in den frame geladen; enthält aber eigentlich keinerlei frametypischen Elemente wie z. B. beim einem Link das 'target="rechts"'.
Wie gesagt, alle anderen Browser haben damit keinerlei Probleme, nur der IE. :-(
Antwort 5 von Friedel
Natürlich kommt das Doctype-Tag für Framesets ín das Frameset und das andere in die Seiten die kein Frameset sind. Wenn du nicht weißt wie die Doctype-Tags angewedet werden, solltest du sie weglasen oder zumindest nicht die Variante strict verwenden. In dieser Variante muss man die Regeln nämlich "strict" einhalten.
Antwort 6 von MoRe99
@Friedel
Wieso sollte ich nicht wissen, wie man die Doctype-Tags anwendet? Wie bereits weiter oben geschrieben habe ich die einzelnen Seiten online validiert nach der Variante "strict" bzw. das Frameset natürlich nach "frameset", und jede Seite für sich war in Ordnung, auch die dazugehörigen CSS-Dateien. Dennoch trat das von mir geschilderte Problem auf, das sich erst dadurch beseitigen ließ, dass ich die Doctype-Tags eben rausgenommen habe. Und genau das stört mich, genau dafür suche ich eine Lösung: wie kann ich es erreichen, dass ich die einzelnen Doctype-Tags drin lassen kann und dennoch vom IE die Seiten ohne störenden horizontalen Scrollbalken angezeigt bekomme? Anders gefragt: wo ist der Haken? Alle Seiten validieren lassen und einzeln alles OK, aber im Zusammenspiel nicht mehr, woran kann das denn liegen?
Das ist der Kern meiner Fragen. Jetzt verständlicher geworden?
Wieso sollte ich nicht wissen, wie man die Doctype-Tags anwendet? Wie bereits weiter oben geschrieben habe ich die einzelnen Seiten online validiert nach der Variante "strict" bzw. das Frameset natürlich nach "frameset", und jede Seite für sich war in Ordnung, auch die dazugehörigen CSS-Dateien. Dennoch trat das von mir geschilderte Problem auf, das sich erst dadurch beseitigen ließ, dass ich die Doctype-Tags eben rausgenommen habe. Und genau das stört mich, genau dafür suche ich eine Lösung: wie kann ich es erreichen, dass ich die einzelnen Doctype-Tags drin lassen kann und dennoch vom IE die Seiten ohne störenden horizontalen Scrollbalken angezeigt bekomme? Anders gefragt: wo ist der Haken? Alle Seiten validieren lassen und einzeln alles OK, aber im Zusammenspiel nicht mehr, woran kann das denn liegen?
Das ist der Kern meiner Fragen. Jetzt verständlicher geworden?
Antwort 7 von Dr.Ma-Busen
Antwort 8 von MoRe99
Hallo Dr. Ma-Busen,
irgendwie habe ich das beim ersten deiner Hinweise nicht ganz korrekt umgesetzt, vielleicht auch nicht ganz verstanden, wie's funktionieren sollte. War außerdem auf iFrames bezogen, die ich auf der fraglichen Seite nicht nutze. Der Hinweis auf SelfHTML bringt mich schon deutlich weiter. Vielen Dank dafür!
irgendwie habe ich das beim ersten deiner Hinweise nicht ganz korrekt umgesetzt, vielleicht auch nicht ganz verstanden, wie's funktionieren sollte. War außerdem auf iFrames bezogen, die ich auf der fraglichen Seite nicht nutze. Der Hinweis auf SelfHTML bringt mich schon deutlich weiter. Vielen Dank dafür!

