2012-02-12 68 views
1

我一直在尋找創建一個富文本編輯器,起初我打算使用contentEditable,但事實證明,結果非常不一致,並且輸出HTML經常被破壞。ContentEditable Alternative

我想知道是否有其他使用contentEditable的替代方法,例如Google Docs的方式(他們創建了自己的引擎)。

+0

你能否具體談談你面臨的問題?輸出HTML是可以修復的,而大編輯(TinyMCE,CKEditor)在這方面做了合理的工作。 – 2012-02-12 16:24:06

回答

0

爲什麼不給TinyMCE呢?這是相當不錯,相當精緻 - 只需要將它與PHP結合起來,你就可以保存內容:)

+0

感謝您的建議,嘗試過了,它工作正常。 – skimberk1 2012-02-17 23:01:15

6

即使Google文檔也建立在contentEditable上。然而,他們以大多數編輯的方式使用它。

當您關注文檔區域時,它看起來像是因爲假脫機文檔而集中注意力。當鍵盤事件監聽器被設置時,實際焦點轉到。引擎(kix)然後根據您按下的按鍵修改文檔區域。

這很棒,因爲瀏覽器並不是修改DOM的人,所以確實沒有嚴重的跨瀏覽器不一致問題。

我能想到的唯一的選擇可能是一個簡單的文本輸入,而不是一個CONTENTEDITABLE元素偏偏喜歡與最大長度的問題煩時,你可以利用CONTENTEDITABLE ;-)

+0

你肯定谷歌文檔使用'contenteditable'上一個隱藏的iframe?上次我看,我找不到任何可以滿足的東西。但我可能錯了。 – 2012-02-12 16:36:44

+0

是啊,我最後一次檢查,谷歌文檔沒有任何CONTENTEDITABLE元素。 我敢肯定,他們只是檢測擊鍵的JavaScript。 – skimberk1 2012-02-12 16:46:59

+0

我剛查過。 kix核心中肯定有contentEditable相關的代碼片段。是的,他們確實使用它來檢測擊鍵。他們可能希望將一些元素集中(跨瀏覽器的問題?)這樣,當文檔區域不是「強調」你不修改的內容。我沒有詳細研究它。但是我真的找到DOM樹'CONTENTEDITABLE = TRUE' ;-) – 2012-02-12 17:06:00