2017-10-26 1 views
2

In CKEditor sind allowedContent und extraAllowedContent Optionen in der Konfig. Ich verstehe, wie allowedContent können Sie sagen, welche Tags und Attribute werden von der ACF verlassen, aber warum gibt es allowedContent und extraAllowedContent? Tun sie nicht dasselbe?Was ist der Unterschied zwischen allowedContent und extraAllowedContent in CKEditor?

Eine Sache, die ich gefunden habe, ist, wenn ich Iframes zulassen will, scheint es nur zu funktionieren, wenn Sie iframe[*] in extraAllowedContent setzen; es funktioniert nicht, wenn Sie es in allowedContent setzen.

Warum? Was ist der Unterschied?

Antwort

2

Die Einstellung allowedContent weist den Editor manuell an, das zulässige Markup, das von aktivierten Plugins angegeben wurde, vollständig zu ignorieren (z. B. das Listenplugin "registriert" <ul> und <li> Tags). Dies kann dazu führen, dass Features aus CKEditor entfernt werden. Wenn Sie beispielsweise die Standardvoreinstellung verwenden und nur iframe[*] zulassen, werden die meisten Schaltflächen (wie fett, Liste, Tabelle) für die Symbolleiste "verschwinden", da Sie keine Elemente wie <strong>, <ul>, <li> und so weiter zulassen .

extraAllowedContent, wie der Name vermuten lässt, können Sie die Liste der erlaubten Tags/Attribute, die CKEditor standardmäßig zulässt, erweitern. Was CKEditor standardmäßig unterstützt, hängt davon ab, welche Funktionen Sie aktiviert haben.

Der folgende Link erklärt es wirklich gut: https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_acf

Eine Sache, die ich gefunden habe, ist zu wollen, wenn Iframes, damit es scheint, nur zu funktionieren, wenn Sie iframe setzen [*] in extraAllowedContent; Es funktioniert nicht, wenn Sie es in allowedContent setzen.

Es sieht aus wie Sie einen Fehler im Code gemacht, weil ich gerade diesen Fall geprüft und es funktioniert wie erwartet (Element der iframe in den Inhalt links, alle anderen Markup entfernt, die meisten der Schaltflächen der Symbolleiste verschwunden) .

Zu guter Letzt sollten Sie nicht nur das iframe-Element mit extraAllowedContent aktivieren, sondern auch ein weiteres Plug-in zu CKEditor hinzufügen, das die Bearbeitung von iframes korrekt behandelt (https://ckeditor.com/cke4/addon/iframe). Wenn Sie es zu Ihrem Build hinzufügen, werden automatisch Elemente zugelassen.

+0

Dies deckt alles, was ich fragte und ist sehr gut erklärt. Vielen Dank. Ich war überrascht zu sehen, dass wenn Sie Google das nichts kommt, hoffentlich diese Frage und Antwort wird anderen helfen. – texelate

Verwandte Themen