WCF2.1 - Ein bis zwei ungewollte Leerzeilen unter Tabelle

  • Betroffene App
    WoltLab Suite Core

    Der Wechsel zwischen WYSIWYG-Modus und Quellcode-Modus des Editors sorgt im WCF2.1 unter gewissen Voraussetzungen für ungewollte Leerzeilen unter Tabellen. Nachfolgend mal drei Beispiele, die ich gezielt reproduzieren kann. Die ersten beiden erzeugen eine Leerzeile, das dritte Beispiel erzeugt zwei Leerzeilen.

    Sind die unten genannten Voraussetzungen nicht gegeben, treten die ungewollten Leerzeilen übrigens nicht auf. Das passiert nur wenn die Voraussetzungen erfüllt sind. Deshalb ganz klar ein Fehler, da es sich anders verhält als es normal ist.

    Ich arbeite hier zum Reproduzieren zwar jeweils mit einem Spoiler unter der Tabelle, aber es tritt oft auch mit normalem Text unter der Tabelle auf. Mit einem Spoiler ließ es sich gerade nur einfach in allen drei Beispielen einheitlich reproduzieren. Mit normalem Text spontan nur in Beispiel 2 und 3, nicht aber in Beispiel 1.

    Edit:

    Ich spreche im Folgenden immer von einem Wechsel zwischen Quellcode-Modus und WYSIWYG-Modus. Das Problem tritt allerdings auch auf, wenn man seinen Beitrag so speichert wie er sein soll und später auf Bearbeiten klickt. Dann hat man die selben Leerzeilen drin als wenn man zwischen Quellcode-Modus und WYSIWYG-Modus gewechselt wäre.

    Edit:

    Beispiel 1 ist so scheinbar noch nicht reproduzierbar. Beispiel 2 und 3 aber schon.


    Beispiel 1 - Leerzeile über Tabelle erzeugt eine ungewollte Leerzeile unter Tabelle

    Folgende Voraussetzung:

    1. Über der Tabelle ist eine Leerzeile

    Um die Reproduktion zu beschleunigen, kann man im Quellcode-Modus des Editors folgendes einfügen:

    Code
    test
    
    [table]
    [tr]
    [td]test[/td]
    [td]test[/td]
    [/tr]
    [/table]
    [spoiler]test[/spoiler]

    Wechselt man nach dem Einfügen des Quellcodes in den WYSIWYG-Modus, ist zwischen Tabelle und Spoiler eine ungewollte Leerzeile.

    Das selbe ist der Fall, wenn man Tabelle & Co manuell im WYSIWYG-Modus erstellt, in den Quellcode-Modus wechselt und wieder zurück in den WYSIWYG-Modus wechselt. Dann wäre ebenfalls die ungewollte Leerzeile vorhanden.

    Auch wenn man die Leerzeile wieder löscht, ist sie nach einem erneuten Wechsel in den Quellcode-Modus und wieder zurück in den WYSIWYG-Modus wieder vorhanden.


    Beispiel 2 - Zeilenumbruch innerhalb von Tabelle erzeugt eine ungewollte Leerzeile unter Tabelle

    Folgende Voraussetzungen:

    1. Innerhalb der Tabelle gibt es in mindestens einem Feld mindestens einen Zeilenumbruch

    Um die Reproduktion zu beschleunigen, kann man im Quellcode-Modus des Editors folgendes einfügen:

    Code
    [table]
    [tr]
    [td]test[/td]
    [td]test
    test[/td]
    [/tr]
    [/table]
    [spoiler]test[/spoiler]

    Wechselt man nach dem Einfügen des Quellcodes in den WYSIWYG-Modus, ist zwischen Tabelle und Spoiler eine ungewollte Leerzeile.

    Das selbe ist der Fall, wenn man Tabelle & Co manuell im WYSIWYG-Modus erstellt, in den Quellcode-Modus wechselt und wieder zurück in den WYSIWYG-Modus wechselt. Dann wäre ebenfalls die ungewollte Leerzeile vorhanden.

    Auch wenn man die Leerzeile wieder löscht, ist sie nach einem erneuten Wechsel in den Quellcode-Modus und wieder zurück in den WYSIWYG-Modus wieder vorhanden.


    Beispiel 3 - Kombination von Beispiel 1 und 2 erzeugt zwei ungewollte Leerzeilen unter Tabelle

    Im Prinzip eine Kombination aus Beispiel 1 und 2.

    Folgende Voraussetzungen:

    1. Über der Tabelle ist eine Leerzeile
    2. Innerhalb der Tabelle gibt es in mindestens einem Feld mindestens einen Zeilenumbruch

    Um die Reproduktion zu beschleunigen, kann man im Quellcode-Modus des Editors folgendes einfügen.

    Code
    test
    
    [table]
    [tr]
    [td]test[/td]
    [td]test
    test[/td]
    [/tr]
    [/table]
    [spoiler]test[/spoiler]

    Wechselt man nach dem Einfügen des Quellcodes in den WYSIWYG-Modus, ist zwischen Tabelle und Spoiler eine ungewollte Leerzeile.

    Das selbe ist der Fall, wenn man Tabelle & Co manuell im WYSIWYG-Modus erstellt, in den Quellcode-Modus wechselt und wieder zurück in den WYSIWYG-Modus wechselt. Dann wäre ebenfalls die ungewollte Leerzeile vorhanden.

    Wechselt man anschließend nochmal in den Quellcode-Modus und wieder zurück in den WYSIWYG-Modus, dann sind es zwei ungewollte Leerzeilen zischen Tabelle und Spoiler.

    Auch wenn man die Leerzeile(n) wieder löscht, sind sie nach einem erneuten Wechsel in den Quellcode-Modus und wieder zurück in den WYSIWYG-Modus wieder vorhanden. Zumindest eine Leerzeile pro Wechsel. Maximal jedoch immer zwei.

    3 Mal editiert, zuletzt von ReeN (23. Juni 2017 um 10:34)

  • Beispiel 1 - Leerzeile über Tabelle erzeugt eine ungewollte Leerzeile unter Tabelle

    Kann ich nicht reproduzieren.

    WCF 2.1.15 (Typhoon)

    WBB 4.1.14

    Chrome 58.0.3029.110 (64-bit)

    https://www.screencast.com/t/6vKSyF7vr36

    Beispiel 2 - Zeilenumbruch innerhalb von Tabelle erzeugt eine ungewollte Leerzeile unter Tabelle

    Kann ich reproduzieren:

    https://www.screencast.com/t/RZJ9XaR1ERVy

    Allerdings ist das nach abschicken keine Leerzeile, nur in dem WYSIWYG Modus. Aber nicht im fertigen beitrag


    Beispiel 3 - Kombination von Beispiel 1 und 2 erzeugt zwei ungewollte Leerzeilen unter Tabelle

    kann ich auch repdouzieren:

    https://www.screencast.com/t/lCvjnqNB

  • Hm, witzig. Jetzt krieg ich Beispiel 1 ebenfalls nicht mehr reproduziert. Da schau ich nochmal im Detail nach woran das dann eben lag. Also was ich da anders gemacht hatte. Aber Beispiel 2 und 3 sind ja immerhin noch reproduzierbar ^^

    Dass die Leerzeile bei Beispiel 2 nur im Editor, aber nicht im abgeschickten Beitrag ist, hatte ich noch gar nicht bemerkt. Interessant. Aber natürlich doppelt verwirrend für denjenigen, der gerade am Schreiben ist.

    Und bei Beispiel 3 sind die Leerzeilen definitiv auch im fertigen Beitrag drin. Denn genau das hab ich regelmäßig, weshalb mich der Fehler auch so nervt ^^ Ich war nur immer zu faul genau zu schauen, wie sich das reproduzieren lässt *hust* jetzt hatte ich das dann mal gemacht und dabei zusätzlich Beispiel 1 und 2 bemerkt.

    Ich hatte übrigens vergessen folgendes zu erwähnen:

    Der Wechsel zwischen Quellcode-Modus und WYSIWYG-Modus ist auch durch Speichern und nachträgliches Bearbeiten ersetzbar. Also speichert man den Beitrag so wie er sein soll und klickt später auf bearbeiten, hat man auch direkt ungewollte Leerzeilen drin.

    Einmal editiert, zuletzt von ReeN (23. Juni 2017 um 09:42)

  • Dass die Leerzeile bei Beispiel 2 nur im Editor, aber nicht im abgeschickten Beitrag ist, hatte ich noch gar nicht bemerkt. Interessant. Aber natürlich doppelt verwirrend für denjenigen, der gerade am Schreiben ist.

    War ich auch ^^

    Ja ist alles bisschen merkwürdig, aber ist ja gut das es kein Spuk ist sondern man es reproduzieren kann. Dann sollte auch das Problem behoben werden können

    • Offizieller Beitrag

    ReeN Vielen Dank für deine ausführlichen Bug-Reports, die sind wirklich mehr als hilfreich. Dank der genauen Beschreibung sowie den Code-Beispielen konnte ich die Probleme direkt reproduzieren und an der Behebung arbeiten.

    https://raw.githubusercontent.com/WoltLab/WCF/47…combined.min.js

    Diese Version enthält die Korrekturen für die hier angesprochenen Probleme, sowie für WCF2.1 - Verschwindende Zeilenumbrüche in Tabellen. Du kannst die obige Datei nach eigenem Ermessen bei dir einsetzen, die Datei enthält nur die genannten Änderungen. Ich möchte dir trotzdem empfehlen, vorsichtshalber ein Backup der ursprünglichen Version anzulegen, sollten meine Änderungen ungeahnte Auswirkungen haben.

    Alexander Ebert
    Senior Developer WoltLab® GmbH

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!