2010-07-09 129 views
2

我想了兩天現在幾個JavaScript輕量級富文本編輯器(rte),如nicEdit,mooEditable,MooRTE(最後兩個被認爲是因爲他們使用了我用於這個項目的mootools框架)。防止複製/粘貼將網頁樣式複製到富文本編輯器

我的問題是,當我從網頁中複製預先形成的文本(粗體字,鏈接等),然後將其粘貼到編輯器中時,它看起來已經形成了。

這可能是不錯的,但這是一個安全問題,因爲如果我複製/粘貼整個網頁,它會在編輯器中呈現整個網頁。

我只希望我的用戶能夠使用編輯器進行一些基本的格式設置,例如將某些文本以粗體,斜體,添加鏈接並縮進其段落。因爲這種類型的編輯器(帶有預覽框)不會遇到上述問題(當你在textarea中粘貼某些東西時,它是無格式的文本)。 但是,我不確定這將被撥給我的情況,因爲編輯器將用於編寫長文章(比大多數的stackoverflow文章長得多)。在那種情況下,我認爲最好有一個適當的編輯器來立即渲染事物(我的意思是在textarea中,而不是在預覽框中)。在我看來,一個真正的所見即所得的編輯器更具誘惑力和易用性。

是否有一種簡單的方法來修改RTE,這樣當我粘貼一些文本時,它將呈現無格式? 或者你認爲我應該使用stackoverflow使用的那種解決方案? (showdown或類似)或者你知道一個沒有我提到的複製粘貼問題的RTE嗎?

請注意,我沒有嘗試CKeditor,FCKEditor和TinyMCE,因爲它們太複雜(重),而YUI中的一個看起來不錯,但需要整個庫才能工作。

感謝,

FuzzyTern

+0

爲什麼在粘貼之前不能使用toggleview(mooEditable或類似的)來獲取文本,然後將其切換回富文本以擺脫格式。這樣用戶可以選擇是否要保持樣式。 – 2010-07-09 15:35:49

回答

0

您是從富文本源並粘貼到富文本複製目的地。默認情況下,您將在目標中獲得富文本。解決此問題的唯一方法是以某種方式捕獲粘貼事件,將粘貼操作重定向到純文本字段,然後將未格式化的文本從純文本字段複製到富文本目標。

  1. 使用onPaste處理程序來捕捉 粘貼事件(在 Firefox或Opera不工作)
  2. 使用隱藏域的 選定的文本粘貼到。
  3. 將光標所在位置的隱藏字段 的值插入富目的地。

不確定利潤來自哪裏,但你去了哪裏。

相關問題