Die fragliche Seite hat sehr skelettiertes HTML, das über den Draht gesendet wird, um den Aufbau einer komplizierten Benutzeroberfläche in Javascript zu erleichtern.
Ich stoße jetzt auf ein merkwürdiges Browser-Kompatibilitätsproblem, das sich fühlt , sehr ähnlich, dass ich irgendwo auf der Seite ein Markup-Problem habe.
Ich habe die Seite validiert, da sie mit dem W3C-Tool auf den Draht trifft und sichergestellt, dass es in diesem HTML keine Probleme gibt. Ich habe auch versucht, die Ausgabe von auf der Browser-Konsole zu überprüfen:
%Vor%Ich finde, dass die Ausgabe von oben viele neue Probleme einführt, wie das Entfernen des abschließenden '/' in selbstschließenden Tags. Dieser zusätzliche Lärm lenkt ab, macht mich aber auch unbehaglich, diese Methode zu validieren.
Wie validieren Sie das Markup, das auf der Clientseite gerendert wurde?
Wenn Elemente auf dem Client erstellt werden, werden sie korrekt vom Browser erstellt - es gibt wirklich nichts zu validieren. Der einzige Zeitpunkt, an dem Sie ein Markup validieren müssen, ist, dass Sie outerHTML/innerHTML = some markup from the server
zuweisen. Wenn dies der Fall ist, loggen Sie sich einfach die Ergebnisse auf Ihrem Server aus und führen Sie sie durch die Standard-HTML-Validatoren.
HTML-Dokumente werden vom Browser in eine DOM-Darstellung zerlegt - der Markup-Code selbst wird nicht beibehalten. Wenn Sie Elemente über Javascript erstellen / ändern, werden sie auch über das DOM erstellt (oder in DOM-Objekte geparst, wenn Sie die innerHTML / outerHTML-Zuweisung verwenden). Es gibt also nichts zu validieren, da Ihre JavaScript-generierte Seite nicht als Markup gespeichert wird.
Das Abrufen von HTML über innerHTML / outerHTML bewirkt, dass der Browser es zurückverwandelt, und Browser tun dies im Allgemeinen immer noch mit HTML-Syntax, nicht streng XHTML-Syntax (z. B. in Bezug auf selbstschließende Tags).
Was das Rendering-Problem anbelangt (oder vielleicht ein unordentliches / übersehenes CSS), könnten Sie beispielsweise Firebug oder die Chrome-Entwickler-Tools (oder Firebug Lite für andere Browser als Firefox und Chrome) verwenden Sie untersuchen die Dokumentstruktur und Elemente, wählen Elemente aus und sehen, welche CSS-Regeln auf sie angewendet werden, und untersuchen das Boxmodell visuell. Es kann Ihnen helfen, das Problem zu identifizieren.
Und nur für den Fall, haben Sie eine gültige DOCTYPE-Deklaration? Quirks-Modus kann seltsame Dinge tun.
Tags und Links javascript html validation