Mac-TV.de

Mac-TV.de (https://www.mac-tv.de/Forum/index.php)
-   Macs, macOS und Zubehör (https://www.mac-tv.de/Forum/forumdisplay.php?f=30)
-   -   Internet Explorer und XHTML (1.0, 1.1)? (https://www.mac-tv.de/Forum/showthread.php?t=212)

Trent 23.01.2008 22:13

Internet Explorer und XHTML (1.0, 1.1)?
 
Hallo,

kann es eigentlich sein, dass der Internet Explorer (selbst beim IE7) XHTML 1.1-konforme Seiten überhaupt nicht anzeigt, sondern stattdessen zum Download anbietet? :Gruebeln:

In meinen neu angeschafften Büchern zu dem Thema lese ich fast überall, dass man doch nun am besten XHTML nehmen soll aus diesen und jenen Gründen etc. Und in der Tat finde ich als Anfänger das (strikte) XHTML 1.0 oder auch 1.1 logisch und nachvollziehbar im Gegensatz zu normalem HTML, wo mehr oder weniger so ziemlich alles an Kauderwelsch erlaubt ist (mal schließende Tags, mal nicht usw.).

So, und jetzt hat man also schön in XHTML rumprogrammiert und der einzige, weltweit am meisten benutzte Browser, nämlich der Internet Explorer schafft es nicht, diese Seite anzuzeigen? .xhtml-Dateien funktionieren nicht (selbst bei entsprechender Anweisung in einer .htaccess-Datei auf dem Server) und .html-Dateien auch nicht. Selbst der hinterletzte Linuxbrowser kriegt das hin.

Daher mal meine (Laien-)Frage: Gibt es da irgendeinen Weg, den IE zu bedienen, ohne dass man auf XHTML verzichtet? Oder muss man da momentan einfach Abstriche machen, weil der IE nunmal der bekannteste und am meisten benutzte Browser ist?

Ratlosen Gruss
Trent

Jörn 23.01.2008 23:05

Du meinst, dass die Datei als Download geladen wird und nicht im Browser dargestellt wird?

Wenn Du das meinst, dann ist das eine Einstellung, die man am Server vornehmen muss. Es geht um die MIME-Typen. Das ist eine Tabelle, in der alle Dateiendungen (.html, .mov, .exe, .zip und so weiter) aufgeführt sind, und welcher MIME-Typ zu dieser Dateiendung gehört.

Der MIME-Typ wird dann an den Browser geschickt, sobald eine Datei vom Server angefordert wird. Der Browser erkennt an dieser MIME-Information, was er mit den Daten anfangen soll. Manche Dateien sollen angezeigt werden (.html), manche sollen als Datei geladen werden (.zip oder .exe).

Vermutlich fehlt in dieser MIME-Tabelle der Eintrag für die Endung ".xhtml", oder der Eintrag ist falsch.

Du musst also Deinen Provider bitten, diese Tabelle für Dich zu ändern. Oder Du änderst die Endung Deiner Dateien auf ".html", egal was letztlich drinsteckt.

-----------

Ich würde Dir einen möglichst "konservativen" Ansatz bei der Web-Programmierung empfehlen. Wenn Du versuchst, das Neueste, Tollste und Modernste zu verwenden, dann wirst Du viele Probleme bekommen. Und zwar gerade mit dem Internet Explorer. Version 7 ist übrigens keineswegs weit verbreitet. Bei Version 6 wirst Du froh sein, wenn die Dinge halbwegs laufen. (Solange es auch in anderen Browsern laufen soll.)

Trent 24.01.2008 12:36

Danke für Deine hilfreiche Antwort!

Nach einigem Probieren habe ich es nun geschafft, dass wenigstens strikte XHTML 1.0-Seiten im IE 5.5, 6 und 7 angezeigt werden. Woran es auch immer lag, dass diese vorher nicht angezeigt wurden, kann ich gar nicht genau sagen. Wenigstens etwas.

Bei XHTML 1.1-Seiten jedoch versagt der IE (5.5 bis 7). Weder ist er in der Lage .xhtml- noch .html-Dokumente anzuzeigen, die mit folgendem Grundgerüst daherkommen:

HTML-Code:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
        <head>
                <title>XHTML 1.1</title>
                <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
        </head>
        <body>
        <h1>XHTML 1.1</h1>
        </body>
</html>

Eine Änderung in der MIME-Tabelle durch einen Eintrag in einer htaccess-Datei brachte auch keinen Erfolg,

Code:

DirectoryIndex index.xhtml
AddType application/xhtml+xml;charset=utf-8;qs=0.999 .xhtml

weil der IE (selbst der "neue" IE 7) schlicht nicht dazu zu bewegen ist, xhtml-Dokumente anzuzeigen, wie mir nach mehrstündiger Internetrecherche klar geworden ist.

Der W3 Validator zeigt diese Dateien im übrigen durchweg als gültig an.:-/

----
Wenn ich Deinen Hinweis richtig verstehe, sagst Du, dass man sich die Verwendung von XHTML reiflich überlegen und auf größtmögliche Kompatibilität achten sollte.

Mein Ziel ist es, dass die Webseiten halbwegs vernünftig auch im Internet Explorer dargestellt werden, insbesondere was die Verwendung von CSS betrifft. Da dürften zukünftig ja auch noch diverse Probleme auf mich zukommen :-o. - obwohl ich mich ernsthaft frage, ob es mir diesen Aufwand wert ist. Bis jetzt habe ich produktiv so gut wie nichts (weiteres) über (X)HTML gelernt, außer dass ein Produkt aus dem Hause Microsoft mal wieder Probleme bereitet - was auch sonst.

Sollte man also im Hinblick auf den IE ganz die Finger von XHTML lassen und nun HTML nehmen?

Dem Wahnsinn wieder ein Stück näher

T.

seth13 09.03.2008 00:06

Keine Angst, du brauchst nicht aufgrund der Unzulänglichkeiten von Microsoft auf XHTML zu verzichten. Das eigentliche Problem dabei ist, wie Jörn schon richtig erwähnt hat, der MIME-Type. "application/xhtml+xml" ist zwar eigentlich der richtige MIME-Type für XHTML-Dokumente, aber in der Praxis kann man den leider nicht verwenden, da der Internet Explorer damit nix anfangen kann und stattdessen den Download-Dialognzeigt. Die einfachste und verbreitetste Lösung des Problems ist, XHTML-Dokumente mit dem MIME-Type "text/html" auszuliefern. Ist zwar streng genommen falsch, aber in der Praxis halt das praktikabelste.

Ich versuch das jetzt mal möglichst kurz zu erläutern: Anhand des MIME-Types erkennt der Browser die Art des Dokumentes und verwendet dann seine entsprechenden Programmroutinen für die weitere Verarbeitung. Jeder Browser sollte dabei für (X)HTML-Dokumente unter anderem eine Fehlerbehandlung entsprechend des jeweiligen W3C-Standards verwenden. Wenn du jetzt ein XHTML-Dokument hast, der MIME-Type des Dokumentes aber "text/html" lautet, wird ein Browser das Dokument auch "nur" als HTML verarbeiten und eben nicht die (eigentlich viel strengeren) XHTML-Regeln anwenden. Das heisst dann z.B., dass aus Browsersicht ein nicht geschlossenes Element keinen Fehler darstellt, obwohl das laut XHTML-Standard nicht erlaubt ist. Solange du aber sicher bist, dass du sauberes und valides XHTML geschrieben hast, ist das Ganze eher theoretischer Natur und daher zu vernachlässigen und du kannst getrost XHTML (dann halt nur mit dem MIME-Type "text/html") verwenden.


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:16 Uhr.

Powered by vBulletin® Version 3.6.8 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.