2011-09-16 106 views
3

我使用下面的代碼...編輯之一,當如何去除不必要的標籤的CKEditor 3.x中

var oEditorText = CKEDITOR.instances["_TEXTAREANAME_"].getData(); 
return { 
    _TEXTAREANAME_ : oEditorText 
}; 

每次和同一記錄中增加了一個新的標籤。

我該如何糾正這一點,

先謝謝您!

+0

你是什麼意思正好「不必要的標籤」做。 –

+0

ckeditor增加了可怕的額外不必要的標籤。即沒有任何理由的頂部空白段落標籤。或者如果你進入'源代碼'並手動添加html,它會'幫助'你並且完全摧毀它。它太「聰明」了。 – willdanceforfun

+0

什麼時候觸發getData()方法?你使用CKEditor的保存功能嗎?或者在將數據插入CKEditor實例時添加了不需要的文本?或者CKEditor替換的元素中的數據和未創建的標籤在創建實例後出現? – Zee

回答

-1

問題解決了:

fullPage : false 
8

可以限制CKEditor的插入通過改變配置設置的標籤。

我寫的,爲什麼標籤插在某些情況下的概述,並解釋了使用兩個配置設置在回答這個帖子:

How to configure ckeditor to not wrap content in <p> block?

答案涵蓋的不僅僅是防止<p>更多。阻止被插入。

我解釋的兩個設置是:config.enterModeconfig.autoParagraph

config.enterMode確定內容是否被包裝以及由什麼標籤。

config.autoParagraph確定內聯元素(如「span」)是否自動包裝在塊元素中。

查看該帖子瞭解更多詳情。


我指出了幾個設置,但沒有描述它們。我會在這裏描述他們。

config.shiftEnterModeconfig.enterMode具有相同的選項和用法。

config.fillEmptyBlocks確定是否在空塊元素中插入了非破壞空間(&nbsp;)字符實體。除了將其設置爲true或false外,還可以設置函數返回true或false。

config.forceEnterMode將導致在有換行符時使用config.enterMode設置中指定的標籤,而不管上下文如何。因此,如果<div>是在輸入模式下分配的標籤,並且您在<p>標籤中,則換行符將導致<div>插入到<p>內部。

config.ignoreEmptyParagraph當設置爲true(默認值)時,它表示如果內容區域中沒有空白段落以外的內容,編輯器應該返回一個空值而不是空的<p></p>標記。

正如戴蒙指出的,有一個config.fullPage設置。它被用來指示在編輯器中的內容是否表示一個完整的HTML文檔:

<html><head></head><body></body></html>

或HTML代碼的塊如通常的情況。

的配置設置所有的描述如下:
http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html

+0

@cosmicbdog,讓我知道是否有一個特定的場景,你想減少CKEditor插入的標籤,我會看看我是否可以爲該場景提供一種方法。 Joe – codewaggle

+0

非常感謝代碼。我會看到我如何與你給的建議去! – willdanceforfun

+0

您的歡迎,我希望你覺得它很有用。 – codewaggle

相關問題