我在CKEditor的圖像插件中隱藏預覽元素存在問題。我需要一個非常簡單的圖像對話框,只有輸入字段的圖像源和形式的圖像上傳按鈕。 所以我刪除使用這些自定義配置設置不必要的元素:刪除CKEditor的圖像插件中的htmlPreview
CKEDITOR.on('dialogDefinition', function(ev)
{
var dialogName = ev.data.name;
var dialogDefinition = ev.data.definition;
if (dialogName == 'image'){
dialogDefinition.removeContents('advanced');
dialogDefinition.removeContents('Link');
var infoTab = dialogDefinition.getContents('info');
infoTab.remove('ratioLock');
infoTab.remove('txtHeight');
infoTab.remove('txtWidth');
infoTab.remove('txtBorder');
infoTab.remove('txtHSpace');
infoTab.remove('txtVSpace');
infoTab.remove('cmbAlign');
infoTab.remove('txtAlt');
}
});
問題開始時,我試圖隱藏htmlPreview元素。如果我簡單地添加infoTab.remove('htmlPreview ');
,將會發生錯誤:Uncaught TypeError: Cannot call method 'setStyle' of null
,因爲已刪除元素的代碼依賴關係。我用Google搜索了很多,似乎有解決這個問題的兩個方面 - 手動編輯插件的源代碼編寫there(
我想唯一的解決方案是從圖像/對話框中刪除所有的JavaScript函數 /image.js引用這些HTML對象,則刪除該 。
我試圖按照此意見,但無法編輯沒有後續錯誤的源文件) 或寫我自己。當然,我可以簡單地添加一些css規則並隱藏元素,但我認爲這不是一個好主意。 這個問題已經夠老了,我確定有一個很好的解決方案,但是我沒有找到它。 希望你能幫助我。先謝謝你。
P.S.我有最新版本的CKEditor - 3.6.4。
這仍然是一個簡單而有效的解決方案在11月14日。插件(可從ckeditor網站鏈接)節省了我的時間和小時。謝謝@AlfonsoML –