最近 Facebook 推出了個名叫 Lexical 的文本編輯器框架,聲稱是可擴展的。這裡我不禁要問,WYSIWYG 編輯器的痛點難道是框架上的設計是否有利於擴展?
其實早在很多年前,KindEditor 作為一款可擴展的 Html Editor ,很多人已有所接觸。它不僅是可定制 plugins ,而且還能在保持良好的 IE 兼容性下處理了各種與 Web APIs 打交道的邏輯。
不才及劣者認為,這類編輯器的痛點實際在於的是要了解大量保持兼容性的底層邏輯。
如實現格式刷功能需要考慮:
再如粘貼 Word 或 Excel 文檔時,我們如何通過 clipboardData 正確處理各種內容並盡可能地保持原文樣式,乃至不同應用放入粘貼板的內容。
再如編輯表格時,我們如何運用原生 commands 去實現諸如行列插入,行列拆分合併等操作。而實現表格拉伸時,我們如何避免 gripper (拉伸點) 如何在 contenteditable 的情況下不影響編輯。
所以,Lexical 若真希望能統一 WYSIWYG 編輯器領域各造輪子的局面,良好的底層封裝以及兼容性真的很重要。從目前其發展的趨勢來看,我改用它的可能性真的不高。
大家也可以談談大家在這方面遇到的坑。
另外,若你遇到這方面的選型問題,可參考: