2017-10-13 10 views
0

Ich möchte Rich Text in DataTable anzeigen. Der Text wird mit CKEditor generiert. Meine Datentabelle gemacht wird, immer mit jQuery:Anzeige reichen Text in DataTable

var myTable = $("#_table").DataTable(this.properties); 

ich das offizielle Forum genannt: Editor: Display Rich Text in Datatable, die Lösung, die zur Verfügung gestellt wurde etwas in den Zeilen war:

Dies ist wahrscheinlich durch die XSS protection verursacht wird, ist in die serverseitigen Bibliotheken des Editors integriert. Wenn Sie Scripting zulassen möchten, können Sie diese Option deaktivieren.

Aber ich weiß nicht, wie Sie diese Eigenschaft deaktivieren. Ich habe verschiedene Methoden ausprobiert, aber keine funktioniert.

Edit 1: Eine Momentaufnahme von dem, was die Datentabelle zeigt nun: enter image description here

Edit 2: Im Datentabelle, wird der Text im String-Format angezeigt: "<p><h1>abc</h1></p>" statt <p><h1>abc</h1></p>.

+0

Was genau bekommen Sie jetzt in Ihren Datenblättern? Ist der HTML-Code in den Daten korrekt? Wenn der HTML-Code von irgendeinem Inhalt entfernt wird, liegt das Problem beim Herausgeber. Vielleicht kann ein JSFIDDLE etwas Licht werfen ... – MaVRoSCy

+0

@MaVRoSCy den Text in der Frage aktualisiert ... – HBK

+0

Ist der Rich-Text von Ihrer DB? – annoyingmouse

Antwort

1

Ich konnte herausfinden, warum die Datentabelle Daten in RTF nicht anzeigen wird. Actully erzeugt CKEditor Texte in zwei verschiedenen Formaten:

  1. &lt;p&gt;&lt;s&gt;&lt;u&gt;&lt;em&gt;&lt;strong&gt;This is a custom defined task. Now there are further details:&lt;\/strong&gt;&lt;\/em&gt;&lt;\/u&gt;&lt;\/s&gt;&lt;\/p&gt;\n\n&lt;ul&gt;\n\t&lt;li&gt;&lt;span style=\"color:#00ff00\"&gt;&lt;s&gt;&lt;u&gt;&lt;em&gt;&lt;strong&gt;&lt;span style=\"background-color:#ff0000\"&gt;List this is the first&lt;\/span&gt;&lt;\/strong&gt;&lt;\/em&gt;&lt;\/u&gt;&lt;\/s&gt;&lt;\/span&gt;&lt;\/li&gt;\n\t&lt;li&gt;&lt;span style=\"font-size:24px\"&gt;&lt;s&gt;&lt;u&gt;&lt;em&gt;&lt;strong&gt;This second.&lt;\/strong&gt;&lt;\/em&gt;&lt;\/u&gt;&lt;\/s&gt;&lt;\/span&gt;&lt;\/li&gt;\n\t&lt;li&gt;&lt;s&gt;&lt;u&gt;&lt;em&gt;&lt;strong&gt;&lt;span style=\"background-color:#00ff00\"&gt;And maybe a third&lt;\/span&gt;&lt;\/strong&gt;&lt;\/em&gt;&lt;\/u&gt;&lt;\/s&gt;&lt;\/li&gt;\n&lt;\/ul&gt;

HTML-Tags hier in Form von HTML-Entitäten sind.

  1. "<p><s><u><em><strong>This is a custom goal having 3 parts:<\/strong><\/em><\/u><\/s><\/p>\n\n<ul>\n\t<li><span style=\"color:#0000cd\"><s><u><em><strong><span style=\"font-size:28px\"><span style=\"background-color:#ff8c00\">This is the first and the biggest.<\/span><\/span><\/strong><\/em><\/u><\/s><\/span><\/li>\n\t<li><span style=\"color:#ff8c00\"><s><u><em><strong><span style=\"font-size:28px\"><span style=\"background-color:#0000cd\">This is the second amd tte<\/span><\/span><\/strong><\/em><\/u><\/s><\/span><\/li>\n\t<li><span style=\"font-size:26px\"><span style=\"color:#ff8c00\"><s><u><em><strong><span style=\"background-color:#0000cd\">yisohckdskcnk<\/span><\/strong><\/em><\/u><\/s><\/span><\/span><\/li>\n<\/ul>"

HTML-Tags hier analysiert werden.

Daten werden in beiden Formularen gleichzeitig vom Editor generiert. Ich hole Daten vom Server mit jdbc und analysiere es mit Jsoup (Remove HTML tags from a String).

Im Standardformular wird das zweite Format in rtf gerendert, während das erste Format in HTML-Tags codiert wird und die Tags als Text gerendert werden. Durch einmaliges Parsen unter Verwendung von Jsoup wird das erste Format in HTML-Tags codiert und als rtf angezeigt, während das zweite Format seiner Tags entfernt und als einfacher Text ohne die HTML-Tags angezeigt wird.

Also, das ist eigentlich eine Anomalie des CKEditor (wie es Text in zwei verschiedenen Formaten generiert) und nicht der Datentabellen.

+0

Nice one @HBK, froh, dass Sie es sortiert haben! :-) – annoyingmouse

+0

@annoyingmouse :) – HBK