2013-03-28 44 views
3

我目前正在使用CKEditor能夠編輯和查看我的SQL數據庫中的文檔。如果我在sql數據庫中更改文檔的內容,它應該自動使用新文本更新CKEditor實例。我唯一的問題是它在更新時閃爍(即:它變爲空白,然後更新爲新文本)。有沒有人知道一種讓它變成窒息轉變的方法。我也使用JQuery,所以我不確定是否有任何可用於平滑過渡到新文本的東西。CKEditor平滑setData

CKEDITOR.instances.content.setData("data"); 
CKEDITOR.instance.content.setData("new data"); 

從數據到新數據的變化會有一點點滯後。

回答

5

當在框架中設置數據(基於wysiwygarea插件)編輯器實例時,無法避免一些輕微閃爍。這是因爲必須重新創建包含您的工作的iframe的全部內容。這是nothing like a piece of cake,我幾乎認爲我們可以繞過這件事。

我建議你用element.setHtml(html)上進行編輯,雖然玩:

CKEDITOR.instances.editor1.editable().setHtml('<p>FooBar</p>'); 

不是因爲它繞過內部過濾,處理和東西以任何方式設置編輯內容的有效方法。但它可能工作formay你,如果你小心。

P.S.你可能也想緩存editor1.editable()對象來加快速度。


有CKEditor的相當一些核心開發人員對堆棧溢出 活躍。

是的。我們是;)

+1

感謝您的回覆。我幾乎通過使用'** divarea **'插件擺脫了閃爍。 readOnly問題也解決了。事實證明,Javascript正在執行將編輯器設置爲readOnly的編輯器實例準備就緒之前的請求。添加'on instanceready'解決了這個問題。 – tiantang 2013-03-28 20:22:48

1

看起來屏幕會閃爍,因爲頁面正在重新加載編輯器中的iframe。通過使用CKEditor的divarea插件,我可以擺脫閃爍。現在唯一的問題是,CKEditor.readOnly屬性不再有效...

+1

Ckeditor是lil複雜的工具。如果你真的擊中,然後張貼在ckeditor論壇或通過聯繫我們直接發送ckeditor。如果你有運氣,他們會爲你回答 – SRy 2013-03-28 06:35:42

+0

不要打擾他們在那裏回答更頻繁,然後在那裏論壇。有很多CKEditor的核心開發人員在堆棧溢出時處於活動狀態。但如果你喜歡,你可以隨時嘗試一下。 – spons 2013-03-28 10:48:46