2016-04-18 18 views
-1

Ich habe seltsame Fehler mit !DOCTYPE html.! DOCTYPE html zerstört Seite

Wenn ich versuche, HTML5 Doctype zu verwenden, sieht meine Seite seltsam aus. Alle Skripts sehen nicht richtig aus.

Aber wenn ich zu !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" ändere, dann sieht alles gut aus.

Ich verstehe nicht, was mit der Seitenstruktur nicht stimmt und warum es nur mit HTML5 passiert ist.

+1

Haben Sie Ihre Seite durch einen HTML-Validator laufen lassen? – j08691

+0

verwenden Sie IE? Hast du es in verschiedenen Browsern ausprobiert? – Styl

+0

@ j08691no, habe ich nicht, weil es gerade auf meinem lokalen ist. – Oleg

Antwort

0

Danke Leute, für Ihre Hilfe!

Ich fand, wie ich es lösen kann. In meinem Fall war der Fehler in einer Erweiterung, die $dom->saveXML() Methode im Beobachter verwendet. Und vor dem Rendern dieser Methode geparst DOM und HTML-Ausgabe entfernt/ersetzt.

2

HTML5 vollständig entfernt und überarbeitet viele HTML4-Elemente (auf denen XHTML 1.0 basiert). Wenn eine Website hauptsächlich in XHTML 1.0 codiert ist, können Sie nicht einfach zu HTML5 wechseln und davon ausgehen, dass die Dinge nicht kaputt gehen.

Die beste Option ist, Ihren konvertierten Doctype-Code über W3Cs HTML-Validator unter https://validator.w3.org auszuführen und die Fehler und Warnungen zu überprüfen, die er generiert. Dies sollte Ihnen eine Vorstellung davon geben, warum die Dinge nicht so funktionieren, wie Sie es möchten.

+0

Es ist noch schlimmer: es ist XHTML :) –

+0

Ich denke, er beschreibt das Gegenteil. – Styl

+1

HTML5 wurde entwickelt, um abwärtskompatibel mit Legacy-Sites zu sein - obwohl sich die Semantik einer Reihe von HTML 4-Elementen geändert hat, verhalten sich Implementierungen nicht plötzlich anders, wenn Sie nur von einem strikten Doctype zu einem anderen wechseln. – BoltClock