Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [html/xhtml] Internet explorer 8 zeigt kein xhtml... er läd es runter o.O (https://www.delphipraxis.net/157110-%5Bhtml-xhtml%5D-internet-explorer-8-zeigt-kein-xhtml-er-laed-es-runter-o-o.html)

Memnarch 29. Dez 2010 21:07

[html/xhtml] Internet explorer 8 zeigt kein xhtml... er läd es runter o.O
 
Nabend,
also wie bereits angedeutet, habe ich ein merkwürdiges problem.

Ich arbeite an meiner neuen webpage und die index datei heißt Index.xhtml.

Opera und firefox schlucken dass, aber sorgenkind nummer 1 natürlich nicht.
Der IE läd das dokument runter anstatt es anzuzeigen.

Also dachte ich mir..gut wenn es so nicht geht dann nennste deine datei eben in .html um..tja jetzt gibts folgendes problem:

Meine seite benutzt im zentralen teil ein OBJECT tag. Das nutze ich um links per target da rein zu packen(wie bei frames). So kann man durch die navigation gehen ohne alles neu zu laden. Aber kaum heißt die datei .html wird TARGET beim link ignoriert, es öffnet sich ein neuer Tab/Seite.

Hat da jemand ne spontane Idee? Könnte es am Doctype oder wie auch immer liegen?(bin html/xhtml unerfaren)

Her erstmal der Head und die vorangehenden definitionen:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
   
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />

   
    <title>SpareTime-Development</title>

   
   <link type="text/css" rel="stylesheet" href="stylesheets/navbar.css" title="Navigationbar" />

  </head>
MFG
Memnarch

Matze 29. Dez 2010 21:45

AW: [html/xhtml] Internet explorer 8 zeigt kein xhtml... er läd es runter o.O
 
Hallo,

du darfst beim IE nicht den XHTML-Header senden (nein, das kann man nicht verstehen). Also kein Header wie
Code:
header('Content-Type: application/xhtml+xml; charset=utf-8');
sondern z.B. diesen:
Code:
header('Content-Type: text/html; charset=utf-8');
Dann lädt der IE die Seite nicht mehr herunter.

Oder geht es rein auf (X)HTML-Basis?
Dann würde mich das wundern. Es sei denn, der IE beherrscht diese Dateiendung nicht oder der Server sendet den genannten Header bei dieser Endung. Ich persönlich verwende generell die Dateiendung .html, da diese den meisten geläufiger ist und daher meiner Meinung nach etwas schöner aussieht.

Dein Doctype ist der von HTML5, soweit ich weiß. Ich nutze z.B. diesen, wobei auch andere Variationen (Transistional, Strict, ...) gehen:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt

Memnarch 29. Dez 2010 23:00

AW: [html/xhtml] Internet explorer 8 zeigt kein xhtml... er läd es runter o.O
 
So ich habe das ganze jetzt auf HTML abgeändert, den ich habe das problem mit meinem object gefunden.

Während in xhtml als bezeichner auch

Code:
<... id="content">
geht, geht in HTML NUR

[code]
<... name="content">
[code]

Weswegen das target für die links unter html nicht mehr gefunden wurde. Puh, hab ich das herausgefunden, muss ich jetzt nurnoch rauskriegen wie ich im IE den rand vom OBJECt wegbekomme(andere browser tun das ja nicht >.<)

EDIT: Wow..klasse. Kaum isses html habe ich nur nachteile. Der IE kann es jetzt zwar anzeigen, aber er zerstückelt alles. Und im opera sind danach einige CSS elemente nicht mehr sichtbar. OK ich bleibe bei xhtml, baue ne eingangs html datei ein die den User darauf hinweißt dass die seite für FF/Opera etc ist und IE draußen bleiben muss. Nicht sauber, aber bitte wenn der IE nur son mist baut*ärger*

EDIT2: Boar endlich. Die seite funzt in FF/Opera/Chrome perfekt. Im IE sind sie zwar korrekt aus, aber da ich das OBJECT tag benutzt habe, funzt dort leider das TARGET bei links noch immer nicht. Vielleicht mal rüber zu Iframes?(aber die sind doch nichmehr erwünscht oder wie war das?)

alcaeus 30. Dez 2010 06:27

AW: [html/xhtml] Internet explorer 8 zeigt kein xhtml... er läd es runter o.O
 
Moin,

wenn man keine....ach, egal.

Erstens kannst du auch in HTML id="abc" schreiben, siehe auch die Spezifikation. Der wichtigste Unterschied sind "leere" Tags, die muessen in XHTML geschlossen werden.
Beispiel HTML:
Code:
<img src="foo.png" alt="Foo">
Beispiel XHTML:
Code:
<img src="foo.png" alt="Foo" />
Zweitens, wenn du korrektes HTML schreibst hast du auch kein Problem von XHTML 1.0 auf HTML 4.10 umzustellen. Du solltest halt den korrekten DOCTYPE angeben. Wenn du natuerlich nen HTML5-Doctype angibst und drin munter HTML 4.10 Trans schreibst ist logisch dass die Seite wie dahingekotzt aussieht.

Drittens, was hat object mit target zu tun? Was bindest du direkt ueber object ein was dir Link-Targets zerfetzt???
Browserkompatibel irgendwas ueber object einzubinden ist echt spassig - da solltest du dir am Besten eine JS-Library aus, die das fuer dich macht. swfobject gehoert da mit zu den Besten und spart dir jede Menge Arbeit.

Um mal ganz kurz was zu target zu sagen: HTML 4.10 Strict, XHTML 1.0 Strict und XHTML > 1.0 kennen kein Target-Attribut in a-Tags.

@Matze: man koennte den Webserver so konfigurieren dass er den application/xhtml+xml-Header bei .xhtml-Dateien schickt. DIe Endung ist fuer den Browser eh irrelevant. Das ist dann wirklich nur noch wie man es haben will.
@Memnarch: du solltest aber trotzdem auf Matze hoeren. Es ist eine altbekannte Tatsache dass der IE application/xhtml+xml nicht mag. Der Content-Type muss auch nicht unbedingt sein - jeder vernuenftige Browser stellt das Zeug auch bei text/html richtig dar (vorausgesetzt du hast korrektes Markup geschrieben).

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz