2015-02-24 87 views
0

我需要使用CKEditor編輯ascx文件的內容。 ascx的內容大多是純html代碼。它還有一個自定義標籤(我使用自定義框架和自己的自定義標籤,即:)CKEditor自動擦除這些自定義標籤(因爲它們不是有效的HTML代碼)。CKEditor for ASP.NET&自定義標籤

如何添加/定義框架的自定義標籤到CKEditor中,以免它們被刪除。

PS:只要他們留在源代碼中,那些自定義標記不需要在HTML視圖中呈現。

回答

0

您需要修改CKEDITOR.dtd對象,以便編輯器知道該標記並正確解析HTML並處理DOM。請參閱ckeditor how to allow for .insertHtml("<customTag myAttr='value'"></customTag>")

+0

我已經看過那篇文章; 2問題: - 我沒有dtd.js文件(或任何帶有'dtd'的文件) - 「使用java構建你的縮小包」,我使用.net版本 – dvdmn 2015-02-24 15:59:21

+0

是的,這是正確的,請參閱http://docs.ckeditor.com/#!/api/CKEDITOR.dtd同樣檢查類似的帖子在http://www.wentsch.me/configure-ckeditor-allow-enterting-empty-tags – Alex 2015-02-24 16:02:38

+0

dtd文件的內容被移動轉換成.net版本的ckeditor.js文件,並將其壓縮(幾乎不可能編輯)。可能是ckeditor傢伙假設.net開發人員不需要自定義標籤。 – dvdmn 2015-02-24 16:15:20

0

CKEditor的protectedSource功能解決了我的問題。自定義標籤位於常規的HTML代碼中,CKEditor忽略它,這正是我想要的。我將只使用CKEditor進行文本修改。

//example custom tag: <inc:module src="module_name" runat="server" /> 

// protect <inc:* /></* 
config.protectedSource.push(/<([\S]+)[^>]*inc:*>.*<\/\1>/g); 
// protect <inc:* /> 
config.protectedSource.push(/<[^>]+inc:[^>\/]*\/>/g);