![]() |
XML (XHTML) Ansicht im Internet Explorer
Hallo,
kann mir bitte einer sagen, wie ich folgenden Quelltext erweitern muss, damit die XHTML Seite richtig im Internet Explorer 6 angezeigt wird. Firefox 1.0 und Opera 7.54 zeigen dieses Seite an und der W3C Validator sagt das alles in Ordnung ist.
Code:
Wenn ich Content-Type auf text/html stelle, dann geht's. Aber das kann nicht Ziel von XHTML sein. Ich denke, dass irgendeine Angabe fehlt.
<?php
function Main() { header("Content-Type: text/xml; charset=iso-8859-1"); $HTML = '<?xml version="1.0" encoding="iso-8859-1"?> <!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" xml:lang="en"> <head> <title>Test</title> </head> <body> Test</p> </body> </html>'; echo $HTML; } Main(); ?> Zitat:
|
Re: XML (XHTML) Ansicht im Internet Explorer
Ich glaube schon, dass text/html die richtige Wahl ist. denn text/xml sagt dem Browser, dass es sich um eine normale XML-Datei handelt, die auch nur so angezeigt wird. Wenn du zum Beispiel text/plain sagst, dann wird auch eine XML-Datei als normale Textdatei angezeigt. Also bissle Beachtung findet der Content-Type schon. Alternativ kannst du es ja mal mit text/xhtml versuchen.
|
Re: XML (XHTML) Ansicht im Internet Explorer
Wenn ich text/html nehme, dann benutzen Opera und Firefox ihren HTML Parser. Und das möchte ich vermeiden.
Edit: \\ Damit es zu keinen missverständnissen kommt. Die Seite soll natürlich als HTML Seite dargestellt werden. Aber man sieht den unterschied, ob Firefox oder Opera ihren HTML Parser benutzen oder halt nicht. |
Re: XML (XHTML) Ansicht im Internet Explorer
Du muss den Teil hier: <?xml version="1.0" encoding="iso-8859-1"?> für den IE weglassen.
Mache also per PHP eine User-Agent überprüfung rein und gebe den XML-Header nur aus, wenn Du keinen IE vor Dir hast. Funktioniert auf meiner Seite wunderprächtig. |
Re: XML (XHTML) Ansicht im Internet Explorer
@Phoenix: Danke für die Info. Nachdem ich diese
![]() |
Re: XML (XHTML) Ansicht im Internet Explorer
Ich habe mich jetzt für einen anderen Weg entschlossen. Und zwar prüfe ich vorher, ob application/xhtml+xml vom Browser unterstützt wird. Wenn nicht, dann sende ich das Dokument als text/html. Ich denke, so wird es auch keine Probleme mit Suchmaschinen geben. Firefox und Opera akzeptieren application/xhtml+xml und der IE halt nicht.
Code:
<?php
function Main() { if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1' && isset($_SERVER['HTTP_ACCEPT']) && preg_match('|application/xhtml\+xml(?!\s*;\s*q=0)|', $_SERVER['HTTP_ACCEPT'])) { header('Content-Type: application/xhtml+xml; charset=iso-8859-1'); header('Vary: Negotiate,Accept'); } else { header('Content-Type: text/html; charset=iso-8859-1'); header('Vary: Negotiate,Accept'); } echo '<?xml version="1.0" encoding="iso-8859-1"?>'; } Main(); ?> <!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" xml:lang="de" dir="ltr"> <head> <title>Test</title> </head> <body> </body> </html> |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz