HTML-Struktur für Code-Boxen ändert sich bei Einbindung von Dateien

25.03.2015 00:23
#1 HTML-Struktur für Code-Boxen ändert sich bei Einbindung von Dateien
avatar
Mitglied

Hallo,

@Wolfgang und ich setzen in unseren Foren farbliche Hervorhebungen von Quelltexten ein. Jetzt hat er dabei einen Fall entdeckt, bei dem das Highlighting einfach nicht mehr im Beitrag angewendet wird und mich auch direkt darauf hingewiesen.

Bei der Fehlersuche ergab sich jedenfalls, dass die HTML-Struktur der im Beitrag angezeigten Code-Boxen sich tlw. unterscheiden kann. Dies passiert zumindest immer dann, wenn ein(e) Bild/Datei direkt in den Beitrag eingebunden wird.

Bilder im Anhang verursachen dabei keine Probleme, es passiert erst, wenn im Beitrag die Zeichenkette [[File: vorkommt. Dann fällt bei der HTML-Struktur der Code-Boxen das letzte <code>-Tag einfach weg. Der angezeigte Code steht dann bereits direkt innerhalb des sonst darüberliegenden <pre>-Tags.

div.bbcode_code
div.codeblock
div.codelines
[Zeilen-Nummern …]
div.code
pre
code <= fällt bei [[File: weg
[QUELLCODE …]

Wo genau das [[File: vorkommt, ist letztlich egal. Selbst wenn man es nur zwischen Code-Tags im Beitrag verwendet, wird dennoch die Struktur der Code-Boxen im Beitrag dadurch verändert.


Vermutlich ist diese Struktur-Änderung nur ein Versehen, auf jeden Fall würde aber die Vereinheitlichung bestimmt die Plugin-Entwicklung erleichtern und Bugs vermeiden. Zum Glück hat Wolfgang diesen Zusammenhang zufällig entdeckt, auch nochmal an ihn ein Danke dafür!


 Antworten

 Beitrag melden
25.03.2015 14:00
avatar  Ingmar
#2 RE: HTML-Struktur für Code-Boxen ändert sich bei Einbindung von Dateien
avatar
Technik

Kannst du dazu einen Beispiel-Beitrag erstellen, an dem das Problem sichtbar ist?

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
26.03.2015 20:26 (zuletzt bearbeitet: 26.03.2015 20:34)
#3 RE: HTML-Struktur für Code-Boxen ändert sich bei Einbindung von Dateien
avatar
Mitglied

Ich habe zur Demonstration nun einen neuen Thread bei mir eröffnet.
http://123484.homepagemodules.de/t513f11...-Codeboxen.html

Das Syntax-Highlighting ist ein guter Indikator. In den ersten zwei Beiträgen sieht man, dass der Inhalt der Code-Boxen normalerweise farblich hervorgehoben wird. Das funktioniert also auch noch, solange eine Datei ganz normal angehängt wurde.

Falls jetzt jedoch eine Datei direkt im Beitrag eingebunden wird (#3), werden die Quellcodes nicht mehr farblich hervorgehoben. Das passiert generell immer dann, wenn im Beitrag irgendwo die Zeichenkette [[File: vorkommt (#4).

In Beitrag #5 habe ich die dabei erzeugten HTML-Strukturen der Code-Boxen nochmal zum Vergleich hineinkopiert. Bei den ersten beiden Beiträgen wird wie in Zeile 22 zu sehen noch ein code-Tag um den Inhalt gesetzt. Bei den beiden nachfolgenden Beiträgen entfällt das code-Tag jedoch und stattdessen steht der Inhalt selbst nun in Zeile 22 innerhalb des pre-Tags.


Das Syntax-Highlighting und die zugehörigen Klassen (prettyprint[ed]) sind dabei zu vernachlässigen. Das war wirklich nur der Indikator, wodurch Wolfgang da überhaupt erst ein Problem aufgefallen ist.

Das Wegfallen des code-Tag passiert auch in anderen Foren. Zur Demonstration binde ich in diesen Beitrag ebenfalls mal eine kleine Datei ein. Mit der Element-Untersuchung sieht man hier genauso, dass das Code-Snippet dann unmittelbar im pre-Tag steht.

1
2
3
4
5
6
7
8
9
10
11
12
13
 
<style>
#demo {
color: blue;
}
</style>
 
<script>
function demo() {
console.log('test');
}
</script>
 
<a href="http://www.example.com">Example.com</a>
 




Falls ich den Demo-Thread zukünftig mal irgendwann löschen sollte, hier nochmal kurz dokumentiert, wie sich die Struktur in einem Forum ohne Syntax-Highlighting ändern würde.

Ohne in den Beitrag eingebundenen Dateien:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
<div class="bbcode_code">
<div class="codeblock">
<div class="codelines">
1<br>
2<br>
3<br>
4<br>
5<br>
6<br>
7<br>
8<br>
9<br>
10<br>
11<br>
12<br>
13<br>
&nbsp;
</div>
 
<div class="code">
<pre>
<code>
<style><br> #demo {<br> color: blue;<br> }<br></style><br>&nbsp;<br><script><br> function demo() {<br> console.log('test');<br> }<br></script><br>&nbsp;<br><a href="http://www.example.com">Example.com</a><br>&nbsp;
</code>
</pre>
</div>
</div>
</div>
 



Mit in den Beitrag eingebundenen Dateien:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
<div class="bbcode_code">
<div class="codeblock">
<div class="codelines">
1<br>
2<br>
3<br>
4<br>
5<br>
6<br>
7<br>
8<br>
9<br>
10<br>
11<br>
12<br>
13<br>
&nbsp;
</div>
 
<div class="code">
<pre>
<style><br> #demo {<br> color: blue;<br> }<br></style><br>&nbsp;<br><script><br> function demo() {<br> console.log('test');<br> }<br></script><br>&nbsp;<br><a href="http://www.example.com">Example.com</a><br>&nbsp;
</pre>
</div>
</div>
</div>
 


 Antworten

 Beitrag melden
02.04.2015 15:39
avatar  Ingmar
#4 RE: HTML-Struktur für Code-Boxen ändert sich bei Einbindung von Dateien
avatar
Technik

Danke für die Fehlersuche und Details.

Ist ~intern behoben~
Änderungen werden immer erst mit dem nächsten Update übernommen. Der Zeitpunkt und Umfang des Updates werden unter Aktuelle News bekanntgegeben

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
01.06.2015 19:17 (zuletzt bearbeitet: 01.06.2015 19:18)
#5 RE: HTML-Struktur für Code-Boxen ändert sich bei Einbindung von Dateien
avatar
Mitglied

Wow! Super! Funktioniert jetzt in meinem Forum! Besten Dank!




Gruß
Wolfgang

Bereits Mitglied?
Jetzt anmelden!
Mitglied werden?
Jetzt registrieren!