Internet Explorer und der Standard-Compliant Modus
Daniel
- css
0 Thomas Luethi0 Daniel0 dbenzhuser0 Thomas Luethi0 Daniel
Hallo!
Ich bin schon bald am verzweifeln, ich bekomme den Standard-Compliant Modus vom Internet Explorer einfach nicht zum Laufen, ich habe nirgends die Definition für XHTML gefunden. Meine aktuelle Doctype lautet so:
<?php
echo "<?xml version="1.0" encoding="iso-8859-1"?>"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
Ohne diesen Modus interpretiert der IE ja wie immer alles falsch, deswegen brauche ich ihn.
Hat vielleicht irgendwer einen Tip der mir weiterhelfen könnte ?
Danke im Vorraus.
Daniel
Hallo,
<?php echo "<?xml version="1.0" encoding="iso-8859-1"?>"; ?>
Bitte poste hier nicht serverseitigen Quellcode, sondern das,
was der Browser zu sehen kriegt.
Und das Problem ist auch schon in dieser Zeile.
Entferne den XML-Prolog, wenn Du willst,
dass der MS IE 6.0 in den Standards-Compliant Modus
wechselt.
So einfach ist das...
Gruesse,
Thomas
Hi Thomas
<?php echo "<?xml version="1.0" encoding="iso-8859-1"?>"; ?>
Bitte poste hier nicht serverseitigen Quellcode, sondern das,
was der Browser zu sehen kriegt.
Ok werde ich dann in Zukunft so machen :)
Und das Problem ist auch schon in dieser Zeile.
Entferne den XML-Prolog, wenn Du willst,
dass der MS IE 6.0 in den Standards-Compliant Modus
wechselt.So einfach ist das...
Ja aber wenn ich diese zeile entferne, dann ist der Code laut W3C Validator nicht mehr XHTML gültig - zumindest parst er ihn nicht mehr und sagt, dass er eben diese Zeile vermisst.
Wass also tun um beides zu erreichen ?
Grüsse,
Daniel
N'Obend!
Ja aber wenn ich diese zeile entferne, dann ist der Code laut W3C Validator nicht mehr XHTML gültig - zumindest parst er ihn nicht mehr und sagt, dass er eben diese Zeile vermisst.
Wass also tun um beides zu erreichen ?
Kann eigentlich nicht sein!
Die Zeile ist ausdrücklich optional, auch der Validator sollte das wissen.
Achtung: wir sprechen nur von:
<?xml version="1.0" encoding="iso-8859-1"?>
der Doctype muss da sein!
Es wird zwar vom W3C empfohlen die Zeile zu setzen, da der IE damit aber nicht klar kommt ist es besser sie weg zu lassen.
Das Problem mit dem IE ist, dass er in der ersten Zeile nach dem Doctype sucht, ist er dort nicht zu finden schaltet er den Compliants-mode ab.
Frohes Fest!
dbenzhuser
Hallo dbenzhuser!
Ja aber wenn ich diese zeile entferne, dann ist der Code laut W3C Validator nicht mehr XHTML gültig - zumindest parst er ihn nicht mehr und sagt, dass er eben diese Zeile vermisst.
Wass also tun um beides zu erreichen ?Kann eigentlich nicht sein!
Die Zeile ist ausdrücklich optional, auch der Validator sollte das wissen.
Hm jaja der Validator hat auch seine Macken :) Ich habe nun einmal explizit angegeben, welches Doctype und Codierung er testen sollte und dann funktionierts so haaaaaalbwegs, dh es ist "Tentatively Valid", was laut meinem schlauen Übersetzungsbuch soviel wie "unter Vorbedacht gültig" heisst.Ich denke das wird dann schon so in Ordnung sein.
Achtung: wir sprechen nur von:
<?xml version="1.0" encoding="iso-8859-1"?>
der Doctype muss da sein!Es wird zwar vom W3C empfohlen die Zeile zu setzen, da der IE damit aber nicht klar kommt ist es besser sie weg zu lassen.
Das Problem mit dem IE ist, dass er in der ersten Zeile nach dem Doctype sucht, ist er dort nicht zu finden schaltet er den Compliants-mode ab.
Also das heisst entweder auf den Compliant Mode verzichten, oder _wirklich_ valides XHTML haben? Am liebsten wäre mir zwar auf den IE zu verzichten, aber man kann ja nicht alles haben ;)
freundliche Grüsse,
Daniel
Hi,
Also das heisst entweder auf den Compliant Mode verzichten, oder _wirklich_ valides XHTML haben? Am liebsten wäre mir zwar auf den IE zu verzichten, aber man kann ja nicht alles haben ;)
Nein. Der Doctype muß vorhanden sein.
Die Codierungsangabe kann auch im meta-Element (<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />) oder im http-header erfolgen.
cu,
Andreas
Hallo,
Entferne den XML-Prolog, wenn Du willst,
Ja aber wenn ich diese zeile entferne, dann ist der Code laut W3C Validator nicht mehr XHTML gültig
Quatsch.
Die erste Zeile ist ueberfluessig.
Hier ein Beispiel von einer validen XHTML 1.0 Strict Seite,
die keinen XML-Prolog hat:
http://augart.com/Skeletons/SKELETON.strict.xhtml-10.html
http://validator.w3.org/check?uri=http%3A%2F%2Faugart.com%2FSkeletons%2FSKELETON.strict.xhtml-10.html
Die DOCTYPE-Angabe ist natuerlich notwendig,
aber davon war nie die Rede.
http://www.w3.org/TR/xhtml1/#strict
"An XML declaration is not required in all XML documents;
however XHTML document authors are strongly encouraged
to use XML declarations in all their documents."
Das W3C will einen also ermutigen, diese fakultative erste Zeile
<?xml version="1.0" encoding="UTF-8"?>
einzubauen. Wenn man aber will, dass das kompilierte
Sicherheitsrisiko in den Standards Compliant Modus
wechselt, muss man sie eben weglassen und direkt
mit der DOCTYPE-Angabe beginnen.
Lies doch mal den Artikel zum Thema Doctype-Switching:
http://gutfeldt.ch/matthias/articles/doctypeswitch.html
Gruesse,
Thomas
Hallo Thomas!
Danke für die informativen Links und Erklärungen!
Jetzt weiss ich was zu tun ist :)
...frohes Weihnachten noch,
Daniel