Browserverhalten bei DOM-Fehler
robertroth
- browser
- html
- php
Liebe Mitdenker, liebe Wissende, liebe Neugierige,
ich bastel immer noch mit den PHP-DOM-Klassen herum. Im Moment versuche ich gerade die Härte der KJlasse zu testen, indem ich Fehler im HTML (DOM) einbaue und die Reaktion der Klasse teste.
Ich bekomme bei doppelten Attributen in einem Element:
Warning: DOMDocument::loadHTML(): Attribute alt redefined in Entity, line: 63 in C:\Programme\Xampp\html-parser\domdocument.class\domlist.php on line 87
Das ist auch richtig so, weil dort steht:
<div id="right"><img alt="Teufel" src="waldhexe.jpg" alt="Waldhexe"></div>
Das Alt-Attribut ist also doppelt vorhanden.
In die Attributliste der Node wird nur das erste Vorkommen des Alt-Attributes, also das mit dem Wert "Teufel" aufgenommen. Die vier getesteten Browser scheinen es ähnlich zu machen, denn sie zeigen bei Fehlen des Bildes den Text "Teufel" an.
PRIMA
Aber ist dieses Verhalten irgendwo (RFC?) als Standard festgeschrieben oder machen die das nur aus lauter Nettigkeit alle fünf gleich?
Ich weiß jetzt leider nicht, wie und wo ich danach suchen kann. Bisher fand ich nur, wie es richtig sein muss, aber nicht, wie der Browser sich bei Fehlern verhalten soll. Kann mir da einer einen Hinweis geben?
Spirituelle Grüße
Euer Robert
robert.r@online.de
@@robertroth
In die Attributliste der Node wird nur das erste Vorkommen des Alt-Attributes, also das mit dem Wert "Teufel" aufgenommen. […] Aber ist dieses Verhalten irgendwo (RFC?) als Standard festgeschrieben
Ja. HTML5 beschreibt nicht nur die Grammatik der Sprache, sondern eben auch das Verhalten der Parser (Browser).
Ich weiß jetzt leider nicht, wie und wo ich danach suchen kann.
In der HTML5-Spec. 8.2 Parsing HTML documents
Bisher fand ich nur, wie es richtig sein muss, aber nicht, wie der Browser sich bei Fehlern verhalten soll. Kann mir da einer einen Hinweis geben?
Ebenda nach „attribute“ gesucht führt zu:
“[…] the complete attribute’s name must be compared to the other attributes on the same token; if there is already an attribute on the token with the exact same name, then this is a parse error and the new attribute must be removed from the token.” [§8.2.4.35]
LLAP
Lieber Gunnar liebe Mitdenker, liebe Wissende, liebe Neugierige,
In die Attributliste der Node wird nur das erste Vorkommen des Alt-Attributes, also das mit dem Wert "Teufel" aufgenommen. […] Aber ist dieses Verhalten irgendwo (RFC?) als Standard festgeschrieben
Ja. HTML5 beschreibt nicht nur die Grammatik der Sprache, sondern eben auch das Verhalten der Parser (Browser).
Ich weiß jetzt leider nicht, wie und wo ich danach suchen kann.
In der HTML5-Spec. 8.2 Parsing HTML documents
Bisher fand ich nur, wie es richtig sein muss, aber nicht, wie der Browser sich bei Fehlern verhalten soll. Kann mir da einer einen Hinweis geben?
Ebenda nach „attribute“ gesucht führt zu:
“[…] the complete attribute’s name must be compared to the other attributes on the same token; if there is already an attribute on the token with the exact same name, then this is a parse error and the new attribute must be removed from the token.” [§8.2.4.35]
Danke für die gute Info.
Jetzt habe ich nur das nächste generlle Problem mit diesem Forum: Wie nehme ich diese Info jetzt zu meiner Doku hinzu? Der Link wird ja nicht angezeigt. Und wenn ich nun die Ansicht vom Posting mit Copy und Paste in meine Doku ziehe, fehlt der später.
Spirituelle Grüße
Euer Robert
robert.r@online.de
Hallo robertroth,
Jetzt habe ich nur das nächste generlle Problem mit diesem Forum: Wie nehme ich diese Info jetzt zu meiner Doku hinzu? Der Link wird ja nicht angezeigt. Und wenn ich nun die Ansicht vom Posting mit Copy und Paste in meine Doku ziehe, fehlt der später.
.posting-content a::after {content: attr(href)}
Bis demnächst
Matthias
Liebe Mitdenker, liebe Wissende, liebe Neugierige,
Hallo robertroth,
Jetzt habe ich nur das nächste generlle Problem mit diesem Forum: Wie nehme ich diese Info jetzt zu meiner Doku hinzu? Der Link wird ja nicht angezeigt. Und wenn ich nun die Ansicht vom Posting mit Copy und Paste in meine Doku ziehe, fehlt der später.
- Du könntest "antworten" wählen und den Text der Textarea in deine Doku ziehen.
- Du könntest folgendes user-css verwenden:
.posting-content a::after {content: attr(href)}
Danke, das hilft. In Gunnars Antwort war es ja noch übersichtlich, aber wenn es mehr Links sind, übersehe ich das schon la und ärger mich dann später.
Spirituelle Grüße
Euer Robert
robert.r@online.de
Hallo robertroth,
- Du könntest folgendes user-css verwenden:
.posting-content a::after {content: attr(href)}
Danke, das hilft. In Gunnars Antwort war es ja noch übersichtlich, aber wenn es mehr Links sind, übersehe ich das schon la und ärger mich dann später.
.thread-message .posting-content a {
font-size: 0;
text-decoration: none;
padding-bottom: .1rem;
border-bottom: 2px solid;
}
.posting-content a::after {
content: attr(href);
font-size: 1.05rem;
}
.posting-content a[href*='wiki.selfhtml.org']::after {
content: "(Wikiseite)";
}
.posting-content a[href*='forum.selfhtml.org/self/']::after,
.posting-content a[href*='forum.selfhtml.org/meta/']::after {
content: "(Forumsbeitrag)";
}
Bis demnächst
Matthias