記錄富文本編輯器

最近項目中需要使用到富文本編輯器,我們使用的是react開發項目,所以想找一個基於React開發的富文本編輯器,首先找到是braft-editor,但是後來發現這款富文本編輯器在呈現表格,a鏈接,圖片等html元素的時候和實際的效果差別有些大,所以爲了能夠完美的展示富文本編輯器的內容,後來選用了umeditor,這是一款mini版本的百度富文本編輯器,而且是基於React開發,後來選用了這款富文本編輯器一段時間後,業務提出了新的業務需求,發現這款富文本編輯器並不能滿足新的需求,只能放棄掉這款,尋找新的一款富文本編輯器。

新的需求主要有兩個:

1. 一個是支持嵌入百度地圖

2. 支持插入超鏈接

可惜umeditor可支持的功能是有限的,後來通過比較決定使用tinyMce這一款編輯器。

tinyMce輕量,簡潔,而且對於React,vue等第三方語言都有對應的插件可以直接使用,這個tinyMce的react版本

但是後來遇到一個新的需求,鼠標點擊到文本中的某一個位置,就需要把對應的模板信息插入到對應的位置。針對這個功能我首先想到的是使用Selection對象來獲取到插入光標的位置,但是後來發現tinyMce的富文本編輯器是一個iframe,裏面嵌套了一個新的html頁面,在當前頁面無法正確的獲取到selection對象。

後來發現tinyMce提供了類似的功能,其有一個API:getRng(),也可以返回瀏覽器的selection對象,由此解決了這個問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章