2017-10-12 5 views
1

Ich benutze ckeditor. ich geprüft, welche Elemente standardmäßig nicht zugelassen wurden durch Ausführen von:Ckeditor disallow img Element

ckEditor.on('instanceReady', function() { 
     console.log(JSON.stringify(ckEditor.filter.allowedContent, null, '\t'));  
    }); 

Dies zeigt, dass das img Element (trotz der Tatsache, dass die img-Taste nicht in meiner Symbolleiste angezeigt wird) erlaubt ist.

Da ich nicht möchte, dass Benutzer Code mit dem img Element einreichen können, wollte ich dies insgesamt verbieten. Ich habe versucht, es in der config.js Datei mit disallowing:

config.disallowedContent = 'img'; 

und auch versucht, wenn der Editor initialisiert:

CKEDITOR.replace("comment", { 
     disallowedContent: 'img' 
    }); 

Als ich den erlaubten Inhalt mit dem ckEditor.filter.allowedContent Befehl anzuzeigen, das img Element noch gezeigt, wie dürfen.

Was mache ich falsch? Ich denke, dass es immer noch notwendig ist, img für Fälle zu verbieten, in denen jemand Code in den Editor einfügt ...

(Ich validiere auch Serverseite, aber würde im Idealfall für Serverseite und Clientseite übereinstimmen, dh für beide verbieten img).

Dank

+0

Es funktioniert, wenn Sie die Config an die Replace-Funktion übergeben: https://jsfiddle.net/reoh7j74/214/ Die Dokumentation besagt, dass der beste Weg wäre, um es in der Seite zu definieren: https: //docs.ckeditor. com/ckeditor4/docs/#!/guide/dev_configuration – HMR

+0

Sie brauchen vielleicht eine andere Version von ckeditor, Inhaltsfilter wurde in 4.1 eingeführt: https://docs.ckeditor.com/geckeditor4/docs/#!/guide/dev_advanced_content_filter – HMR

+0

Hey, danke, ich habe Version 4.7.3. Wenn ich deine Geige renne und schaue, was erlaubt ist: https://jsfiddle.net/bfyuL1cy/, scheint es, dass das "img" -Tag immer noch da ist. Ich verstehe deinen Code auch nicht wirklich. Warum würde es nicht ausreichen, 'disallowedContent: 'img'' nur in die Replace-Funktion zu übergeben (ohne den' disablePlugin ... '-Code)? – theyuv

Antwort

0

Um Bilder bitte Code unten verwenden, um nicht zuzulassen:

CKEDITOR.replace('editor1', { 
    disallowedContent: 'img' 
}); 

Bitte beachten Sie, dass CKEDITOR.instances.editor1.filter.disallowedContent und CKEDITOR.instances.editor1.filter.allowedContent sind zwei separate Listen und das Hinzufügen von Element zu einem nicht entfernt es sich von anderen. Sie definieren (oder editiert dies standardmäßig) die Liste der erlaubten Elemente in allowedContent list und die Liste der unzulässigen Elemente in disallowedContent list. Letzteres hat höhere Priorität als das vorherige - https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_disallowed_content. Aus diesem Grund sind Bilder im Editor nicht erlaubt.

Verwandte Themen