2017-10-12 86 views
1

我正在使用ckeditor。 我檢查哪些元素是默認不允許運行:Ckeditor disallow img元素

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

這表明img元素允許的(儘管在IMG按鈕不會出現在我的工具欄)。

因爲我不希望用戶能夠使用img元素提交代碼,所以我想完全禁止這樣做。初始化編輯時

config.disallowedContent = 'img'; 

和也嘗試:

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

當我顯示允許的內容與ckEditor.filter.allowedContent命令時,img元件仍顯示爲我試圖與不允許它在config.js文件允許。

我在做什麼錯?我認爲它仍然有必要禁止img的情況下,有人在編輯器中粘貼代碼...

(我也驗證服務器端,但理想情況下,服務器端和客戶端匹配,即:不允許img)。

感謝

+0

如果您通過配置來替換功能它的工作原理:https://jsfiddle.net/reoh7j74/214/文檔指出,最好的辦法是在頁面定義爲:https://docs.ckeditor。 !COM/ckeditor4 /文檔/#/引導/ dev_configuration – HMR

+0

也許你需要一個不同版本的CKEditor的,內容過濾器在4.1中引入:https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_advanced_content_filter – HMR

+0

嘿,謝謝,我正在運行4.7.3版本。當我運行你的小提琴,並看看什麼是允許的:https://jsfiddle.net/bfyuL1cy/,它似乎'img'標籤仍然存在。我也不是很瞭解你的代碼。爲什麼僅僅將'disallowedContent:'img''傳入替換函數(沒有'disablePlugin ...'代碼)是不夠的? – theyuv

回答

0

爲了禁止圖像,請使用以下代碼:

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

請注意,CKEDITOR.instances.editor1.filter.disallowedContentCKEDITOR.instances.editor1.filter.allowedContent是兩個單獨的列表和添加元素一個不從其他刪除它。您可以在allowedContent list中定義(或者編輯器默認爲這樣做)允許的元素列表以及disallowedContent list中的禁止元素列表。後者優先於前者 - https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_disallowed_content。這就是編輯器不允許圖像的原因。