2012-06-19 72 views
2

我正在尋找一種方法,以確保如果用戶使用ctrl + v粘貼文本,我總能得到純文本。CKEDITOR - 默認情況下打開粘貼爲純文本窗口

我已經嘗試添加config.forcePasteAsPlainText = true;到我的CKEDITOR.editorConfig函數,我仍然得到大量的nbsp;等 我似乎能夠得到真正純文本的唯一方法是使用粘貼作爲工具欄上的純文本按鈕。 有沒有辦法打開該窗口,如果用戶使用Ctrl + V粘貼並讓他們粘貼在那裏。 我知道這可以用fckeditor來完成,但一直沒能弄清楚如何使它在ckeditor中工作。

任何幫助將不勝感激! 感謝

回答

5

我查了最新的SVN版本(應當從3.6.3差別很大),當我設置forcePasteAsPlainText : true(注意 - 你必須初始化編輯器之前或editor.replace(el, config)這樣做 - 這樣做以後將無法正常工作。

我粘貼(按CTRL + v)複製一個網站的一部分,文本被正確粘貼,沒有造型,沒有多餘的和非純文本元素。

然而, 實體完全以純文本格式更正 - 它們會替換多個空格,並且對於通過pastetext對話框粘貼的內容,您將得到相同的結果。

如果您仍想在ctrl + v上打開pastetext對話框,則可以使用CKEDITOR.config.keystrokes。目前正在對夫婦在這個數組中的默認值,所以你不應該忽略他們,但你可以添加自己的按鍵(編輯初始化前):

CKEDITOR.config.keystrokes.push(
    [ CKEDITOR.CTRL + 86, 'pastetext' ] 
); 

如果你想添加這個按鍵只有一個編輯器(因爲編輯全局配置影響所有),那麼你將不得不使用自定義配置文件(見http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Setting_Configurations#Using_the_config.js_File),並添加您的按鍵是這樣的:

CKEDITOR.editorConfig = function(config) 
{ 
    config.keystrokes = [ 
     // copy here all keystrokes from _source/plugins/keystrokes/plugin.js 
     [ CKEDITOR.CTRL + 86, 'pastetext' ] 
    ]; 
}; 

這樣OFC不方便,但是這將是固定在CKEditor的下一個主要版本。

+0

謝謝!正是我想要做的,並完美的工作:) – Melissa

相關問題