valides XHTML vs. Frameset
Steffen
- html
Moin zusammen,
folgendes Problem: Ich würde gern ein valides XHTML Frameset erstellen, bekomme dabei aber Schwierigkeiten, sprich Fehlermeldungen vom Validator. Im Forum hab ich gefunden, dass es keine validen Framesets gibt, die den Framerand weglassen. Stimmt das?
Hier mein Frameset:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15" />
<title>Titel</title>
<link rel="shortcut icon" href="favicon.ico" />
</head>
<frameset cols="1,*" frameborder="0" framespacing="0" border="0">
<frame src="./webseite/leer.php" name="linkerrand" scrolling="no">
<frame src="./webseite/index.php" name="content">
<noframes>
<body>
<div>
<a href="startseite.php">Klicken Sie hier, wenn Sie nicht automatisch auf die Startseite geleitet werden!</a>
</div>
</body>
</noframes>
</frameset>
</html>
Ich will hier auch nicht über Vor- und Nachteile von Frames diskutieren, mich interessiert eher, ob es wirklich keinen Weg gibt, diese Seite valide zu machen oder ob ich das Problem z.b. mit einer anderen Dokumentendeklaration lösen kann.
viele Grüße,
Steffen
Hallo Steffen.
Im Forum hab ich gefunden, dass es keine validen Framesets gibt, die den Framerand weglassen. Stimmt das?
Nein, siehe Attributreferenz für das http://de.selfhtml.org/html/referenz/attribute.htm#frame@title=frame-Element.
<frameset cols="1,*" frameborder="0" framespacing="0" border="0">
Das http://de.selfhtml.org/html/referenz/attribute.htm#frameset@title=frameset-Elemen verfügt weder über ein frameborder– noch ein framespacing– noch ein border–Attribut.
<frame src="./webseite/leer.php" name="linkerrand" scrolling="no">
Du möchtest einen zweiten Frame einfügen, nur weil du einen Rand darstellen möchtest?
<a href="startseite.php">Klicken Sie hier, wenn Sie nicht automatisch auf die Startseite geleitet werden!</a>
Deinem Code gemäß wird man niemals automatisch weitergeleitet.
Und warum nutzt du nicht die zahlreichen Möglichkeiten PHPs, Dokumententeile einzubinden?
Ich will hier auch nicht über Vor- und Nachteile von Frames diskutieren, mich interessiert eher, ob es wirklich keinen Weg gibt, diese Seite valide zu machen oder ob ich das Problem z.b. mit einer anderen Dokumentendeklaration lösen kann.
Es gibt nur einen (XHTML und HTML einmal gleich gestellt) passenden DOCTYPE für Framesets: Frameset.
Einen schönen Montag noch.
Gruß, Ashura
Hallo Ashura,
jo, das sagt mir der Validator, dass es diese Eigenschaften nicht gibt. Aber ohne diese Eigenschaften bekomme ich einen Framerand und der sieht ziemlich unschön aus. Die Frage ist also: Wie kann ich ein valides Frameset hinbekommen, das keinen Framerand hat?
Keine Angst, ich weiss schon sehr genau, was ich tue und wozu ich dieses Frameset habe. Das hat seine Richtigkeit. Ich mag Framesets auch nicht und nutze die Alternativen, aber an dieser Stelle sehe ich keinen anderen Weg und will auch nicht gross über Sinn und Unsinn diskutieren sondern mehr über xhtml lernen.
viele Grüße,
Steffen
Hallo Steffen.
Wie kann ich ein valides Frameset hinbekommen, das keinen Framerand hat?
Mit dem frameborder-Attribut für das frame-Element. Zumindest wird damit weder im IE noch im Firefox noch im Konqueror ein Rand angezeigt. Im Opera dagegen schon.
[…] ich […] will auch nicht gross über Sinn und Unsinn diskutieren sondern mehr über xhtml lernen.
Zum Erlernen von XHTML gehört meiner Meinung nach aber auch das Sinnieren über den Sinn und Unsinn alter Gepflogenheiten.
Einen schönen Montag noch.
Gruß, Ashura
Hi nochmal,
Mit dem frameborder-Attribut für das frame-Element. Zumindest wird damit weder im IE noch im Firefox noch im Konqueror ein Rand angezeigt. Im Opera dagegen schon.
Hmm, folgender Quelltext ist zwar konform, aber mein FF zeigt mir doch diesen dummen Rand an:
<frameset cols="1,*">
<frame src="./webseite/leer.php" name="linkerrand" scrolling="no" frameborder="0" />
<frame src="./webseite/index.php" name="content" frameborder="0" />
Hab ich nen Fehler? (Ich hatte ja zuvor das Workaround von SelfHTML drin, was zwar funktioniert hat, aber nicht konform war)
Zum Erlernen von XHTML gehört meiner Meinung nach aber auch das Sinnieren über den Sinn und Unsinn alter Gepflogenheiten.
Ja, da hast du eigentlich recht. Aber in diesem Fall brauch ich leider nen Frame. Leider. ;-)
viele Grüße,
Steffen
Hallo Steffen.
Hmm, folgender Quelltext ist zwar konform, aber mein FF zeigt mir doch diesen dummen Rand an:
<frameset cols="1,*">
<frame src="./webseite/leer.php" name="linkerrand" scrolling="no" frameborder="0" />
<frame src="./webseite/index.php" name="content" frameborder="0" />Hab ich nen Fehler?
Nein, mein Firefox (1.5.0.4) zeigt da keinen Rand an.
Könntest du bitte ein auf ein Mindestmaß reduziertes Beispieldokument online zur Verfügung stellen? Momentan kann ich dein Problem nicht nachvollziehen.
Einen schönen Montag noch.
Gruß, Ashura
Hi,
ja klar:
http://www.sevenartworks.com/test
Mein Firefox zeigt da ganz links nen verschiebbaren grauen Balken an.
viele Grüße,
Steffen
Hallo Steffen.
ja klar:
http://www.sevenartworks.com/test/Mein Firefox zeigt da ganz links nen verschiebbaren grauen Balken an.
Ah, alles klar. Der Fehler lag bei mir.
Ja, auch mein Firefox zeigt da einen Rahmen an. Ich konnte ihn nur nicht sehen, weil er ebenso wie die Hintergrundfarbe meiner Frames weiß war.
Dagegen kannst du wohl auf validem Wege nichts ausrichten.
Einen schönen Montag noch.
Gruß, Ashura
OK. Danke Dir.
Hi,
Mein Firefox zeigt da ganz links nen verschiebbaren grauen Balken an.
Gib mal in die Adreßzeile about:config ein und such dann nach layout.frames.force_resizability - welchen Wert hat dieses?
Aber soweit ich weiß, muß man sich bei Frames sowieso zwischen Validität und Rahmenlosigkeit entscheiden.
cu,
Andreas
hi,
Aber soweit ich weiß, muß man sich bei Frames sowieso zwischen Validität und Rahmenlosigkeit entscheiden.
Oder man nutzt eine eigenen DTD, die die Attribute, die die Browser _wollen_, auch definiert.
Aber das wäre eher was für Leute, die Validität nur deshalb erreichen wollen, um sich dann einen entsprechenden "Bapperl" auf die Seite kleben zu können.
Und wie Ashura vermute ich angesichts eines Frames mit dem Namen "linkerrand" und einer hineingeladenen Ressource, deren Name für ein leeres Dokument spricht, dass hier eine Umsetzung ohne Frames sehr viel sinnvoller wäre.
Validität alleine nützt kein Bisschen, wenn dabei die Nutzbarkeit der Seite unnötig eingeschränkt wird.
gruß,
wahsaga
Hi,
Aber soweit ich weiß, muß man sich bei Frames sowieso zwischen Validität und Rahmenlosigkeit entscheiden.
Oder man nutzt eine eigenen DTD, die die Attribute, die die Browser _wollen_, auch definiert.
Dann wäre es aber kein echtes XHTML mehr ...
cu,
Andreas