da IE XHTML nicht als XHTML rendern wird, sondern es stattdessen als HTML behandelt, wann kann dies tatsächlich Probleme für IE verursachen?Wann kann XHTML unerwartet Probleme bei IE verursachen?
Antwort
Ich weiß von einem Fall, in dem
<div style="clear:both" />
in Browsern, die XHTML unterstützen, die div geschlossen ist. Aber IE wird das Div als noch offen behandeln, so dass das Layout später unerwartete Ergebnisse haben kann.
Internet Explorer wird Probleme haben, XHTML-Dokumente von XML-Dokumenten zu unterscheiden, wenn der MIME-Typ nicht als text/html angegeben ist. Da HTML 4.01 jedoch vollständig unterstützt wird, entstehen die meisten Probleme durch inkonsistente und nicht standardisierte Implementierungen von Positionierungs-, Layout- und CSS-Eigenschaften. Um Probleme zu vermeiden, schreiben Sie am besten gültiges XHTML und geben Sie einen DOCTYPE an.
Writing HTML vermeidet Ereignis mehr Probleme, da Sie nicht erwischt werden
alle Diese gelten für jeden Browser XHTML als text/html Behandlung nicht speziell IE, aber Sie sollten in Anhang C des XHTML 1.0 spec hier lesen: http://www.w3.org/TR/xhtml1/#guidelines
Selbstschließender Die Syntax funktioniert nicht (es scheint nur für Elemente zu funktionieren, die in HTML immer leer sind). XML-Serialisierer können
<textarea/>
,<script/>
und ähnliche generieren, die Seiten auf verschiedene Arten aufbrechen (wodurch eine komplizierte Fehlerkorrektur ausgelöst wird und manchmal der Rest der Seite erneut analysiert wird).Explizit geschlossene HTML "leere" Elemente könnten sich merkwürdig verhalten (
</br>
Einfügungen brechen in IE).<![CDATA[
außerhalb HTML-hardcodedCDATA
Elemente werden als ein Tag erkannt. Es hat keinen Einfluss auf das Entkommen und kann einige Inhalte verschwinden lassen.In HTML
CDATA
Elemente (nämlich<script>
) Entitäten werden nicht erkannt. XHTML erfordert<script> if (1 < 2) …
, die Syntaxfehler in IE sein wird.Hintergrund von
<body>
wird anders in IE angewendet werden.Es gibt keine browserübergreifende Syntax für Namespace-fähige Selektoren in CSS.
Sie erhalten alle impliziten HTML-Elemente (zB
<tbody>
in allen Tabellen) und implizit geschlossene Elemente (es ist normalerweise kein Problem, wenn das Dokument gültig ist, aber andere Browser warnen Sie nicht, solange Markup gut ist gebildet).Elemente und Attribute mit Präfixen werden nicht namespaced und erhalten
tagName
im IE (was auch in XML illegal ist). Sie erhalten auch kein entsprechendes Standardstyling und -verhalten (<xhtml:a>
kann kein Link sein).Sie werden sich wie
createElementNS
(sie in IE nicht existieren) nicht in der Lage sein, Methoden Namespace-aware zu verwenden, wird.tagName
in IE groß geschrieben werden, aber nicht in allen Fällen.Elemente und Attribute mit Präfixen werden nicht mit Namespaced versehen und erhalten im IE einen anderen lokalen Namen (der in XML auch nicht zulässig ist).
Dies sind nur Probleme beim Wechsel von XML-Dokument zu HTML. Es gibt so viele Überraschungen, wenn Sie von HTML (d. H. Was alle erwarten und als normales Verhalten annehmen) zu echtem XML, z. document.write
funktioniert nicht und macht die meisten Google-Skripts unbrauchbar.
- 1. Kann das Label "javascript:" irgendwelche Probleme verursachen?
- 2. Kann eine JSP-Fehlerseite Probleme verursachen?
- 3. Was könnte Probleme bei der Einstellung von JavaScript-Cookies verursachen?
- 4. margin und padding verursachen Probleme bei der Berechnung Layout
- 5. Serving xhtml + mathml zu Firefox und IE
- 6. Welche Probleme können zweiphasige Commits verursachen?
- 7. HTML Probleme in IE
- 8. Probleme beim Rendern von xhtml auf Seite
- 9. GCC-Option, die beim Debuggen mit GDB Probleme verursachen kann
- 10. Kann starke Namensgebung Probleme mit der Objektserialisierung in C# verursachen?
- 11. CollapsingToolbarLayout - Einstellung expandedTitleTextAppearance und collapsedTitleTextAppearance kann Probleme verursachen
- 12. Eval Probleme in IE
- 13. getElementByld: IE Probleme
- 14. Ruby string einfache Anführungszeichen, die Probleme verursachen
- 15. Was kann Müll bei Ausdrucken mit Reportserver verursachen?
- 16. F # Assembly-Referenzen, die Build-Probleme verursachen?
- 17. Kann dies undefiniertes Verhalten verursachen?
- 18. Welche CSS-Eigenschaften verursachen wahrscheinlich Probleme in Internet Explorer?
- 19. ReportViewer Scroll-Probleme in IE
- 20. Probleme mit der Analyse XHTML-Seite über Javascript
- 21. Kann EntityUtils.toString() eine NetworkOnMainThreadException verursachen?
- 22. Was kann diesen Fehler bei der Anmeldung verursachen?
- 23. Was kann Fehler 2902 bei der Installation eines MSI verursachen?
- 24. Probleme beim Drucken in IE
- 25. JavaScript onLoad Funktion + IE = Probleme
- 26. Javascript IE und getElementsByClassName Probleme
- 27. jsTree Probleme in IE 8,9
- 28. Was kann java.lang.NoClassDefFoundError verursachen?
- 29. Bukkit - Verwenden von statischen Variablen, die Probleme verursachen
- 30. IE 9 und 10 Ausbeute unerwartet und inkonsistent MediaError des
Alle Browser sollten dies tun, wenn XHTML im HTML-Modus gerendert wird - selbstschließende Tags sind eine Eigenschaft von XML, nicht XHTML. Aus diesem Grund empfehlen die HTML-Kompatibilitätsrichtlinien, dass Sie dieses Formular nicht für Elemente verwenden, die sich normalerweise nicht selbst in HTML schließen (wie und
): http://www.w3.org/TR/xhtml1/#C_3 – Miles
@ Meilen Wahr. IIRC, in xHTML selbstschließenden Tags sollte ordnungsgemäß geschlossen werden wie diese "" - das Leerzeichen ist optional, aber eine ausfallsichere für Browser, die nicht den Schrägstrich – hannson