kostenloser Webspace werbefrei: lima-city


.htm .html .xhtml? Welche Dateiendung?

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    m******s

    Also, folgendes tag/problem">Problem:
    Wollte jetzt mal eine Homepage auf den neuesten Webstandards machen. Schön und gut, hab ich auch alles verstanden und so. Nur:
    Die Dateiendung für XHTML-Dokumente ist .xhtml. Kann ich auch machen, wird mir im FF und in Opera wunderbar angezeigt. Aber IE (ich hasse Microsoft für die mangelhafte Implementierung ordentlicher Standards :mad:) versucht die Datei herunterzuladen :mad:
    Möchte aber ja, dass alle meine tolle Homepage bewundern können, auch Internetexplorer-Nutzer. Dachte mir also, benenne ich die Datei einfach in .html um, dann kann der IE die auch ordentlich öffnen und die Browser benutzen dann ja eh den Doctype um zu entscheiden, wie sie das anzeigen, richtig? Falsch! Denn als .html zeigen zwar alle drei Browser eine Page an - aber doverweise ein leere. Mit .htm ist es das gleiche.

    Also wie bekomme ich es hin, dass Alle meine Homepage sehen können? Muss ich erst eine extrem unelegante Eintrittsseite machen, die den Browser ermittelt, und dann weiterleitet? (Ich mein, wollte eh eine Seite machen, die erst Browser, Auflösung etc. ausliest, aber wollte dazu eigentlich schon XHTML benutzen :mad:)
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Das habe ich noch nie erlebt sowas

    Poste mal den Code
  4. Autor dieses Themas

    m******s

    <?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\" xml:lang=\"de\">
    	<head>
    		<title>Axel Wagner Online</title>
    		<script language=\"javascript\" src=\"res/ajax/prototype.js\" />
    		<script language=\"javascript\" src=\"res/ajax/test.js\" />
    		<meta http-equiv=\"Content-Type\" content=\"text/xhtml; charset=utf-8\" />
    	</head>
    	<body>
    		<p id=\"ErsterTest\" onclick=\"test()\">ERSTER TEST!</p>
    	</body>
    </html>


    Sorry, wollte ich eigentlich schon vorher machen, aber vergessen ;)
  5. Hmm, also ich hab noch nicht gehört das eine XHTML-Seite die Endung .xhtml haben muss, um valid zu sein?! o0

    Mach einfach mal eine neue .html-Datei und kopiere den Inhalt rein, vielleicht gabs da ein Problem beim umwandeln. (Weiß ja jetzt nicht wie du es umgewandelt hast ...) ;)
  6. Autor dieses Themas

    m******s

    Ich habe umgewandetl, in dem ich die Datei umbenannt habe in .html.
    Also, ich habe auch gelesen, dass die Dateiendung latte ist, aber offenbar ist dem irgendwie nicht so, oder in meinem Source ist ein Fehler.
  7. Hmm, also wenn ich den Code oben in eine .html-Datein reinkopiere wird er in Opera ohne Probleme angezeigt ...

    Edit: Auch im FF, aber im IE nicht ... kann ich wirklich nicht sagen warum. :/

    Edit2: Wenn ich die 2 JavaScript-Includes rausnehm gehts bei mir, auch im IE.
    Schau mal ob das so valid ist...

    Edit3: und jetzt hab ichs.
    Dein Code ist NICHT valid.
    Du hast die <script>-Tags nicht zugemacht. ;)

    Beitrag geändert: 25.6.2008 18:39:05 von philippkern
  8. benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.


    Hmm, also wenn ich den Code oben in eine .html-Datein reinkopiere wird er in Opera ohne Probleme angezeigt ...

    Edit: Auch im FF, aber im IE nicht ... kann ich wirklich nicht sagen warum. :/

    Edit2: Wenn ich die 2 JavaScript-Includes rausnehm gehts bei mir, auch im IE.
    Schau mal ob das so valid ist...

    Edit3: und jetzt hab ichs.
    Dein Code ist NICHT valid.
    Du hast die <script>-Tags nicht zugemacht. ;)

    Beitrag geändert: 25.6.2008 18:39:05 von philippkern

    Zugemacht schon.

    das:
    <?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\" xml:lang=\"de\">
        <head>
            <title>Axel Wagner Online</title>
            <script language=\"javascript\" src=\"res/ajax/prototype.js\"></script>
            <script language=\"javascript\" src=\"res/ajax/test.js\"></script>
            <meta http-equiv=\"Content-Type\" content=\"text/xhtml; charset=utf-8\" />
        </head>
    
        <body>
            <p id=\"ErsterTest\" onclick=\"test()\">ERSTER TEST!</p>
        <div id=\"zdzdzajkwme\"></div><script type=\"text/javascript\" src=\"http://cache.lima-city.de/stat-server.js\"></script></body>
    </html>

    Funktioniert.
    Der vorige Code hat im FF bei mir auch nicht funktioniert, aber daran lags wohl.
    Ich weiß jetzt nicht, ob das auch so valide ist, sollte aber sein.
  9. Autor dieses Themas

    m******s

    Okay, hab nochmal ausprobiert, und anscheinend liegt das an den eingebundenen Javascripten. :confused: Wenn ich die auskommentiere, funktioniert das. :confused:

    [edit] Okay, glaub ich weiss, woran das liegt. Das Single-Tag
    <script /> mag er offensichtlich nicht... mensch :mad: irgendwie habe ich das Gefühl, dass da irgendwas schief läuft. Naja, hat sich also erstmal erledigt.

    [edit2] Okay, offensichtlich kamen da mehrere Leute drauf ;) Aber wenn ichs als .xhtml bezeichne, nimmt er die Tags ja auch so -.-\' Also kanns sein, dass er durch das .html den standard nicht so rigoros durchsetzt?

    [edit3]Ausprobiert und anscheinend führt die Endung html dazu, dass er auch invaliden Code anzeigt :mad: Was bringen solche Standards, wenn man sie nicht umsetzen kann? :mad:


    Beitrag geändert: 25.6.2008 18:48:14 von merovius
  10. Das Attribut language=\"\" von Script ist veraltet und sollte nicht mehr verwendet werden. (Das ist aber nicht der Fehler).

    Ich denke, der Fehler liegt hier:
    <meta http-equiv=\"Content-Type\" content=\"text/xhtml; charset=utf-8\" />

    Der richtige Mime-Type müsste \"application/xhtml+xml\" sein.

    http://de.selfhtml.org/diverses/mimetypen.htm#uebersicht
  11. Autor dieses Themas

    m******s

    Okay, letztes Update, für Leute, die das gleiche Problem bekommen:

    http://validator.w3.org/ is ur friend.

    Die Probleme waren:
    In den script-Tags darf man nicht language=\"javascript\" benutzt, sondern stattdessen \"type=\"application/javascript\".

    Allerdings: Immer noch, selbst nach perfekter xhtml-Validierung (die man zugegebenerweise nur mit .xhtml bekommt), nimmt der immer noch invalide Dokumente an, wenn man sie in .html umbenennt :mad: irgendwie dov.

    [edit] Joa, das hab ich dann auch noch verändert. Bleibt aber...

    Beitrag geändert: 25.6.2008 19:01:13 von merovius
  12. [edit3]Ausprobiert und anscheinend führt die Endung html dazu, dass er auch invaliden Code anzeigt :mad: Was bringen solche Standards, wenn man sie nicht umsetzen kann? :mad:

    Es gibt keine Endung `.xhtml` und meine Seiten enden *immer* auf `.html` und sind valide. Jetzt sag doch mal, welche Fehler der Validator rausspuckt, vll können wir dir dann helfen.

    //edit:

    merovius schrieb:

    Die Probleme waren:
    In den script-Tags darf man nicht language=\'javascript\' benutzt, sondern stattdessen \'type=\'application/javascript\'.


    es heißt doch `type=\"text/javascript\"`?

    Ryan

    Beitrag geändert: 25.6.2008 19:07:08 von ryanblack
  13. Autor dieses Themas

    m******s

    Warning Conflict between Mime Type and Document
    The document is being served with the text/html Mime Type which is not a registered media type for the XHTML 1.1 Document Type. The recommended media type for this document is: application/xhtml+xml


    Die Warnung verschwindet, sobald ichs in .xhtml umbenenne.
  14. merovius schrieb:
    Warning Conflict between Mime Type and Document
    The document is being served with the text/html Mime Type which is not a registered media type for the XHTML 1.1 Document Type. The recommended media type for this document is: application/xhtml+xml


    Die Warnung verschwindet, sobald ichs in .xhtml umbenenne.


    `<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />`

    ist korrekt.

    `application/xhtml+xml` kann der IE nicht anzeigen.

    Die erste Zeile `<?xml [...]` kannst du auch weglassen und gleich mit dem Doctype beginnen, sonst rendert der IE ein falsches Boxmodell (&rarr; mehr Verwirrung) und es ist trotzdem valide.

    Ryan


    Beitrag geändert: 25.6.2008 19:13:23 von ryanblack
  15. Autor dieses Themas

    m******s

    Okay, also, deine Korrektur mag irgendwie stimmen, derzeit macht es aber noch absolut keinen Unterschied.

    Die Warnung vom Validator bleibt, auch mit den vorgeschlagenen Änderungen, wenn ichs in .html benenn, verschwindet immer noch, wenn ichs .xhtml nenn...

    Naja, ich scheiß da langsam drauf :mad:
    Das einzige was mich gerade wirklich stört, ist, dass I-Explorer sagt, dass es Fehler in der Seite gibt, wenn ich versuche Javascript auszuführen :mad:
    Das ist doch echt kacke sowas :mad:

  16. `application/xhtml+xml` kann der IE nicht anzeigen.



    Das ist soo nicht ganz korrekt. Der IE kann das schon anzeigen. Der IE hat nur ein Problem den Typ zu ermitteln, wenn man keine Datei in der URL angibt.
    D.h. ruft man eine XHTML Seite
    mit http://testseite.de ab -> der IE bietet zum Download an
    mit http://testseite.de/index.html ab -> es funktioniert.

    Als ich das erkannt habe, habe ich bei mir einfach eine RewriteRule per .htaccess angelegt die ein / in /index.html wandelt.

    Also hier nochmal kurz zusammengefasst, was wichtig ist für valides XHTML:
    1. Dokument im Typ application/xhtml+xml ausliefern
    2. xml-prolog \"<?xml version=\"1.0\" encoding=\"utf-8\"?>\"
    3. neue meta-Tags nutzen
    <meta http-equiv=\"Content-Type\" content=\"application/xhtml+xml; charset=utf-8\" />
    <meta http-equiv=\"Content-Script-Type\" content=\"text/javascript\" />
    <meta http-equiv=\"Content-Style-Type\" content=\"text/css\" />
    4. RewriteRule von domain.de/ auf domain.de/index.html (damit auch der IE damit zurecht kommt)

    Ach ja die Dateiendung beeinflusst lediglich den voreingestellten Content-Typ beim Server... das heißt wählt man .xhtml wird bei den meisten Servern automatisch mit application/xhtml+xml ausgeliefert, egal was im meta-Tag steht ;-)

    Grüßle



    Beitrag geändert: 25.6.2008 19:42:37 von scout
  17. Autor dieses Themas

    m******s

    D.h. ruft man eine XHTML Seite
    mit http://testseite.de ab -> der IE bietet zum Download an
    mit http://testseite.de/index.html ab -> es funktioniert.


    Interessant ist, dass aufgrund der lima-cache da noch gar nichts passiert ;) aber mal abwarten ;)

    Als ich das erkannt habe, habe ich bei mir einfach eine RewriteRule per .htaccess angelegt die ein / in /index.html wandelt.


    Das wird doch bei den meisten Servern automatisch gemacht, dass, wenn keine Datei angegeben wird, dass dann die index.htm/index.php/index.html genommen wird? o.O


    1. Dokument im Typ application/xhtml+xml ausliefern
    2. xml-prolog \"<?xml version=\"1.0\" encoding=\"utf-8\"?>\"
    3. neue meta-Tags nutzen
    <meta http-equiv=\"Content-Type\" content=\"application/xhtml+xml; charset=utf-8\" />
    <meta http-equiv=\"Content-Script-Type\" content=\"text/javascript\" />
    <meta http-equiv=\"Content-Style-Type\" content=\"text/css\" />


    Wenn das für valides XHTML notwendig ist, wieder nimmt der Validator dass dann auch ohne perfekt an?

    Ach ja die Dateiendung beeinflusst lediglich den voreingestellten Content-Typ beim Server... das heißt wählt man .xhtml wird bei den meisten Servern automatisch mit application/xhtml+xml ausgeliefert, egal was im meta-Tag steht ;-)


    Hm, und gilt das auch im umgekehrten Fall für HTML? Denn bei mir macht das nen großen Unterschied, wenn ich das xhtml nenne, öffnet iexplorer die nicht mehr (sondern öffnet stattdessen DL). Und im Firefox akzeptiert er ungültiges xhtml, solange die Datei .html heißt und zeigt ne Fehlermeldung bei .xhtml an.

  18. Das wird doch bei den meisten Servern automatisch gemacht, dass, wenn keine Datei angegeben wird, dass dann die index.htm/index.php/index.html genommen wird? o.O

    Ich sag mal jain. Natürlich wird der Content der Datei aus einer Default-Seite genommen, die beim Server hinterlegt ist. Allerdings geht es ja nicht darum, woher der Content kommt, sondern wie der IE den Typ des Contents ermittelt.

    Da der IE den Typ nihct richtig ermitteln kann, nimmt dieser den Standard und das ist bei Ihm halt Download.
    Ich weiß nicht wo genau der Fehler im IE ist - dazu müsstest du bei Microsoft anfragen. Ich weiß nur dass der Content Typ am Ende nicht stimmt, wenn man dem IE nur die Domain übergibt.


    Wenn das für valides XHTML notwendig ist, wieder nimmt der Validator dass dann auch ohne perfekt an?

    Weil der Validator noch nicht ganz komplett ist. Ich nehm ausd diesem Grund auch ab und zu www.validome.org ...der zeigt ab und zu mehr an.


    Hm, und gilt das auch im umgekehrten Fall für HTML? Denn bei mir macht das nen großen Unterschied, wenn ich das xhtml nenne, öffnet iexplorer die nicht mehr (sondern öffnet stattdessen DL). Und im Firefox akzeptiert er ungültiges xhtml, solange die Datei .html heißt und zeigt ne Fehlermeldung bei .xhtml an.

    ok das mit dem IE zum DL ist halt der Fehler s.o.
    Was für eine Fehlermeldung zeigt der denn im FF an ?
    Kannst mir ja auch deine URL mal per privater Nachricht schicken, dann schau ich mal kurz drüber.

    Welche Header werden denn übermittelt vom Server?
    -> siehe www.validome.org -> Erweiterte Einstellungen > \"Headerdaten anzeigen\" anhaken
    Was steht da dann bei Serverheader > Content-Type ?

    Grüßle

  19. Autor dieses Themas

    m******s

    Hm, tatsächlich steht im Header content-type \"text/html\"...

    Also, theoretisch könnte ich ja meine Datei als PHP benennen und den Header manuell setzen, aber gibt es vielleicht irgendeine Möglichkeit, beim Apache das Verhalten abzuändern, dass der den Content-type nach der Dateiendung wählt?
  20. wenn du die dateiendung .xhtml wählst müsste der Apache application/xhtml+xml wählen und übermitteln. Allerdings ist .xhtml bei den meisten Apache nicht als Default-Dokument angegeben. ...deshalb mach ich das auch mit dem Rewrite. Ist am Praktischsten für mich.
  21. thomasba

    Co-Admin Kostenloser Webspace von thomasba

    thomasba hat kostenlosen Webspace.

    Kann es sein, das das mit der Dateiendung damit zusammenhängt, das der Apache dann einen anderen MIME-Typ im HTML-Header sendet?

    Soweit ich weis liegt es daran.

    [edit]
    ups, sorry nicht alles gelesen -.-

    Bei mir ist es so, das ich eh php verwenden, lass ich php den Header verändern.

    Ansonsten könntest du das auch noch mit der Datei .htaccess versuchen:
    http://www.trash.net/faq/htaccess.shtml#htaccess_AddType

    Beitrag geändert: 25.6.2008 22:01:03 von thomasba
  22. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!