成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

三款開源全文搜索高亮插件,輕松實現文檔搜索功能

開源
Selection對象表示用戶選擇的文本范圍或插入符號的當前位置。它代表頁面中的文本選區,可能橫跨多個元素。文本選區由用戶拖拽鼠標經過文字而產生。要獲取用于檢查或修改的 Selection 對象,我們可以調用?window.getSelection()。

最近在研發多模態文檔編輯器(flowmix/docx)的時候,遇到一個比較有意思的功能需求——實現全文的搜索和替換,比如下面的功能場景:

圖片圖片

總結一下就是我們需要實現如下核心功能:

  • 全文搜索并對搜索文本進行高亮處理
  • 支持搜索結果自動定位和切換
  • 支持對搜索的文本進行一鍵替換

我的第一反應就是采用 selection API 來實現文本的匹配搜索。

圖片圖片

Selection對象表示用戶選擇的文本范圍或插入符號的當前位置。它代表頁面中的文本選區,可能橫跨多個元素。文本選區由用戶拖拽鼠標經過文字而產生。要獲取用于檢查或修改的 Selection 對象,我們可以調用 window.getSelection()

從瀏覽器兼容性上來看 selection API 還是非常靠譜的,目前很多云文檔編輯器大多類似的功能也都采用這個JS API來實現的。

所以順藤摸瓜,開源市場上一定也有比較成熟的開源庫可以幫助們實現類似的功能,所以我花時間調研了幾款比較成熟的文本搜索高亮的庫, 方便大家更高效的實現類似的功能。

1. mark.js

圖片圖片

markjs 是一個用 JavaScript 編寫的文本高亮工具。

它具有以下特點:

  1. 可以動態標記搜索詞或自定義正則表達式??。
  2. 提供了眾多內置選項,如支持變音字符、單獨單詞搜索、自定義同義詞、iframe 支持、自定義過濾器、準確性定義、自定義元素、自定義類名等。
  3. 提供多種使用方式,可配合純 JavaScript 使用或作為 jQuery 插件。
  4. 下載方式多樣,可通過 npm 或 Bower 安裝,也可手動下載。
  5. 提供 CDN 服務,方便使用。
  6. API 豐富,包括初始化實例、標記關鍵詞(mark ())、標記自定義正則表達式(markRegExp ())、標記范圍(markRanges ())、去除標記(unmark ())等方法,每個方法都有詳細的參數說明??。
  7. 兼容性好,可在所有現代瀏覽器中使用。
  8. 提供教程,詳細解釋了一些可能不太容易理解的選項,如元素和類名、排除、單獨單詞搜索、準確性、變音符號等。

如果大家感興趣可以在github上參考體驗一下:

github地址:https://github.com/julmot/mark.js

2. texthighlighter

圖片

Text Highlighter 是一個輕量級JavaScript類,用于在文本區域高亮顯示搜索結果。支持多文本區域、響應式設計和原始背景保留。提供大小寫敏感搜索、單詞匹配、結果計數和導航功能。無需配置,簡單易用,適用于需要增強文本搜索體驗的網頁應用。

github地址:https://github.com/funktechno/texthighlighter

3. Vue-Search-Highlight

圖片圖片

vue-search-highlight 是一款基于Vue實現的搜索高亮組件,支持HTML內容跨標簽匹配關鍵字。我們可以使用組件的方式來使用,非常簡單,下面是它的安裝和實現方式:

圖片圖片

如果大家熟悉vue, 也可以參考學習這款開源項目。

github地址:https://github.com/wintc23/vue-search-highlight

以上這些是我發現的能通過二次開發快速實現文本搜索高亮的方案,當然目前瀏覽器還有些比較新的特性,可以通過css來實現內容的搜索高亮,官方名稱叫做 CSS Custom Highlight API,有了它,我們可以在不改變 dom 結構的情況下自定義任意文本的樣式,例如:

圖片圖片

這上面是我在MDN上寫的一個案例, 確實只需要幾行代碼就能實現文本搜索高亮,感興趣的小伙伴也可以研究一下, 筆者親測瀏覽器兼容性不是特別好, 所以大家要謹慎使用。

最后

后續我們也會在flowmix/docx多模態文檔編輯器中實現全文搜索高亮的功能,大家可以參考我上面提供的幾種方案,來低成本高效率的實現需求。

最近我們做了一款文檔管理類Saas系統, 底層基于 Flowmix/Docx 多模態文檔引擎, 這里簡單和大家分享一下:

圖片圖片

大家可以注冊使用來管理自己的內容知識文檔, 同時能一鍵生成自己的專屬知識庫.  

體驗地址: http://orange.turntip.cn/doc

每個月我們都會根據用戶的需求和規劃的迭代計劃持續迭代, 大家可以關注 flowmix視界 獲取最新更新的信息。

當然從體驗上來講, 我們會持續優化和迭代, 并結合業界最佳體驗實踐, 將文檔搭建能力發揮出最大的價值.

圖片圖片

編輯器版本體驗地址: http://flowmix.turntip.cn/docx

責任編輯:武曉燕 來源: 趣談前端
相關推薦

2009-02-25 13:41:49

全文搜索內置函數MySQL

2018-08-22 14:25:42

搜索LuceneQuery

2020-06-10 08:23:44

JavaScript開發Web

2009-02-25 13:59:57

布爾全文搜索全文搜索內置函數

2025-02-05 07:26:45

2022-03-22 15:20:32

微信全文搜索

2022-12-06 17:22:45

2012-05-10 15:41:46

HTML5

2010-06-10 13:54:10

MySQL全文搜索

2015-04-03 11:23:11

JavaScript全文搜索相關度評分

2018-03-13 08:51:31

開源區塊鏈加密貨幣

2012-05-30 14:03:33

開源大數據搜索

2014-12-31 17:12:54

模糊查詢模糊查詢

2022-11-15 18:31:37

React

2012-08-06 09:52:03

Android搜索功能

2010-06-11 17:00:34

2014-10-14 09:49:47

Postgres數據庫

2023-12-10 20:33:50

Redis搜索全文

2009-03-03 11:31:21

Twintter集成搜索

2022-01-13 20:14:46

Qury元宇宙搜索
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 蜜桃视频一区二区三区 | 91精品国产91久久久 | 久久国 | 美女在线视频一区二区三区 | 狠狠色综合久久婷婷 | 一区二区三区欧美在线 | 中文在线观看视频 | 91精品免费视频 | 青青草免费在线视频 | 色啪网| 精品国产亚洲一区二区三区大结局 | 狠狠躁夜夜躁人人爽天天高潮 | 国产精品久久精品 | 日韩一区二区三区视频 | 91精品国产高清久久久久久久久 | 国产精品久久久久久久7电影 | 久久精品日 | 中文字幕精品一区久久久久 | 一区在线播放 | 国产精品爱久久久久久久 | 欧美久久一区二区 | 99精品久久久国产一区二区三 | 欧美久久大片 | 偷拍亚洲色图 | 亚洲麻豆 | 亚洲精品www久久久久久广东 | 日韩av免费看 | 91av大全 | 狠狠干天天干 | 国产日韩欧美在线观看 | 国产精品福利久久久 | 国产婷婷在线视频 | aaaaaaa片毛片免费观看 | 成人毛片一区二区三区 | 成人欧美一区二区三区1314 | 午夜在线 | 天天躁日日躁性色aⅴ电影 免费在线观看成年人视频 国产欧美精品 | 日本三级精品 | 亚洲欧洲一区 | 国产精品午夜电影 | 日韩在线精品视频 |