整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          Ruby on Rails 作者的 WYSIWYG

          Ruby on Rails 作者的 WYSIWYG 編輯器 Trix 火了!

          家好,很高興又見面了,我是"高級前端?進階?",由我帶著大家一起關注前端前沿、深入前端底層技術,大家一起進步,也歡迎大家關注、點贊、收藏、轉發,您的支持是我不斷創作的動力。

          1.什么是 Trix

          Trix is a WYSIWYG editor for writing messages, comments, articles, and lists—the simple documents most web apps are made of. It features a sophisticated document model, support for embedded attachments, and outputs terse and consistent HTML.

          Trix 是用于日常寫作的富文本編輯器,在 Web 應用程序中撰寫格式精美的文本。 同時,Trix 是一個所見即所得(即,WYSIWYG)的編輯器,用于編寫消息、評論、文章和列表等,而大多數 Web 應用程序都是由這些簡單文檔組成的。 Trix 具有復雜的文檔模型、對嵌入附件的支持以及輸出簡潔且一致的 HTML。

          Trix 是 Ruby on Rails 的創建者 37signals 的開源項目。Ruby on Rails 是一個全棧框架,附帶了在前端和后端構建令人驚嘆的 Web 應用程序所需的所有工具。

          當 Trix 于 2014 年設計時,大多數 WYSIWYG 編輯器都是 HTML 的 contenteditable 和 execCommand API 的包裝器,這些 API 由 Microsoft 設計,用于支持 Internet Explorer 5.5 中的網頁實時編輯,并最終被其他瀏覽器進行逆向工程和復制。

          <blockquote contenteditable="true">
            <p>Edit this content to add your own quote</p>
          </blockquote>
          <cite contenteditable="true">-- Write your own name here</cite>

          由于這些 API 沒有完全確定和標準化,因此每個瀏覽器的實現都有自己的一組錯誤和怪癖,JavaScript 開發人員需要解決這些不一致之處。

          Trix 通過將 contenteditable 視為 I/O 設備來避免這些不一致,即當用戶輸入到達編輯器時,Trix 將該輸入轉換為其內部文檔模型上的編輯操作,然后將該文檔重新渲染回編輯器。 這使 Trix 可以完全控制每次擊鍵后發生的情況,并且根本不需要使用 execCommand。

          bool=document.execCommand(aCommandName, aShowDefaultUI, aValueArgument)
          // 注意:該方法也已經廢棄

          最終,這種方法也成為所有現代所見即所得編輯器的常用方法。

          目前 Trix 在 Github 通過 MIT 協議開源,有超過 18.3k 的 star、1.1k 的 fork、11.9k 的項目依賴量、代碼貢獻者 100+,妥妥的前端優質開源項目。

          2.如何使用 Trix

          2.1 安裝與使用

          Trix 以 ESM 和 UMD 格式打包在一起,可與任何資源打包工具配合使用。 開始使用 Trix 的最簡單方法是將其從 npm CDN 包含在頁面的 <head> 中:

          <head>
            …
            <link rel="stylesheet" type="text/css" href="https://unpkg.com/trix@2.0.8/dist/trix.css">
            <script type="text/javascript" src="https://unpkg.com/trix@2.0.8/dist/trix.umd.min.js"></script>
          </head>

          當然,開發者也可以通過 NPM、yarn 等包管理工具進行下載和使用:

          import Trix from "trix"
          
          document.addEventListener("trix-before-initialize", ()=> {
            // 這里可以修改 Trix.config 的配置
          })

          開發者需要在頁面上放置一個空的 <trix-editor></trix-editor> 標記,Trix 會在編輯器之前自動插入一個單獨的 <trix-toolbar>。

          與 HTML <textarea> 一樣,<trix-editor> 接受 autofocus 和 placeholder 屬性,但是與 <textarea> 不同 <trix-editor> 自動垂直擴展以適應其內容。

          2.2 其他特性

          Trix 編輯器支持無限制的撤消和重做,連續的輸入和格式更改會以五秒的間隔合并在一起,所有其他輸入更改都單獨記錄在撤消歷史記錄中。

          element.editor.undo()
          element.editor.redo()

          Trix 還支持使用 JSON.stringify 序列化編輯器的狀態,并使用 editor.loadJSON 方法恢復保存的狀態。序列化狀態包括文檔和當前選擇,但不包括撤消歷史記錄。

          // 將編輯器狀態存儲在localStorage中
          localStorage["editorState"]=JSON.stringify(element.editor)
          
          // 從localStorage重新獲取編輯器狀態
          element.editor.loadJSON(JSON.parse(localStorage["editorState"]))

          Trix 支持將格式設置應用于當前選擇,可以使用 editor.activateAttribute 方法:

          element.editor.insertString("Hello")
          element.editor.setSelectedRange([0, 5])
          element.editor.activateAttribute("bold")

          更多關于 Trix 的用法可以參考文末資料,本文不再過多展開。

          參考資料

          https://github.com/basecamp/trix

          https://trix-editor.org/

          https://www.bypeople.com/trix-rich-text-editor-for-everyday-writing/

          https://www.youtube.com/watch?v=ZMcejBBDz4E

          文本編輯器,Rich Text Editor, 簡稱 RTE, 它提供類似于 Microsoft Word 的編輯功能,容易被不會編寫 HTML 的用戶并需要設置各種文本格式的用戶所喜愛。它的應用也越來越廣泛。

          1、UEditor---百度編輯器

          網址:http://ueditor.baidu.com/website/

          UEditor是由百度web前端研發部開發所見即所得富文本web編輯器,具有輕量,可定制,注重用戶體驗等特點,開源基于MIT協議,允許自由使用和修改代碼。

          UEditor推出后幫助網站開發者在開發富文本編輯器所遇到的難題,節約開發時間,有效降低了開發成本。

          2、CKEditor 和 FCKeditor

          網址:http://ckeditor.com/

          CKEditor是新一代的FCKeditor,是一個重新開發的版本。CKEditor是全球最優秀的網頁在線文字編輯器之一,因其驚人的性能與可擴展性而廣泛的被運用于各大網站。它志于輕量化,不需要太復雜的安裝步驟即可使用。它可和PHP、JavaScript、ASP、ASP.NET、ColdFusion、Java、以及ABAP等不同的編程語言相結合。

          3、KindEditor

          網址:http://kindeditor.net/

          KindEditor 是一套開源的在線HTML編輯器,主要用于讓用戶在網站上獲得所見即所得編輯效果,開發人員可以用 KindEditor 把傳統的多行文本輸入框(textarea)替換為可視化的富文本輸入框。 KindEditor 使用 JavaScript 編寫,可以無縫地與 Java、.NET、PHP、ASP 等程序集成,比較適合在 CMS、商城、論壇、博客、Wiki、電子郵件等互聯網應用上使用。

          主要特點:

          快速:體積小,加載速度快

          開源:開放源代碼,高水平,高品質

          底層:內置自定義 DOM 類庫,精確操作 DOM

          擴展:基于插件的設計,所有功能都是插件,可根據需求增減功能

          風格:修改編輯器風格非常容易,只需修改一個 CSS 文件

          兼容:支持大部分主流瀏覽器,比如 IE、Firefox、Safari、Chrome、Opera

          4、TinyMCE

          網址:https://www.tinymce.com/

          TinyMCE是一個輕量級的基于瀏覽器的所見即所得編輯器,支持目前流行的各種瀏覽器,由JavaScript寫成。功能配置靈活簡單(兩行代碼就可以將編輯器嵌入網頁中),支持AJAX。另一特點是加載速度非常快,如果你的服務器采用的腳本語言是 PHP,那還可以進一步優化。最重要的是,TinyMCE是一個根據LGPL license發布的自由軟件,你可以把它用于商業應用。

          5、Simditor

          網址:http://simditor.tower.im/

          Simditor 是團隊協作工具 Tower 使用的富文本編輯器。Tower 認為,作為一款在線生產力工具,讓用戶能極其舒暢地生產內容是它的核心品質之一,因此決定自己開發一款編輯器,這就是 Simditor 產生的原因。Simditor的理念是保持簡單,避免過度的功能,每一個特性都追求極致的用戶體驗。同時,Simditor也很容易擴展。

          主要特點:

          功能精簡,加載快速

          輸出格式化的標準 HTML

          每一個功能都有非常優秀的使用體驗

          兼容的瀏覽器:IE10+、Chrome、Firefox、Safari

          6、eWebEditor

          網址:http://www.ewebeditor.net/

          eWebEditor是基于瀏覽器的、所見即所得的在線HTML編輯器。她能夠在網頁上實現許多桌面編輯軟件(如:Word)所具有的強大可視編輯功能。WEB開發人員可以用她把傳統的多行文本輸入框<TEXTAREA>替換為可視化的富文本輸入框,使最終用戶可以可視化的發布HTML格式的網頁內容。

          7、wangEditor

          網址:http://www.wangeditor.com/

          wangEditor的定位是做最簡單、易用、快捷、輕量化的富文本編輯器。基于javascript和css開發的開源免費Web富文本編輯器。它經歷了兩次代碼重構和五次UI升級。配置方便,使用簡單。支持 IE10+ 瀏覽器。

          8、xhEditor

          網址:http://xheditor.com/

          xhEditor是一個基于jQuery開發的簡單迷你并且高效的在線可視化HTML編輯器。

          xhEditor完全基于Javascript開發,您可以應用在任何的服務端語言環境下。

          xhEditor可以在CMS、博客、論壇、商城等互聯網平臺上完美的嵌入運行,能夠非常靈活簡單的和您的系統實現完美的無縫銜接。

          自2009年4月首個版本發布以來,憑借我們人性化的用戶體驗和不斷持續完善的態度,越來越多的網站選擇了使用xhEditor。

          主要特點:

          精簡迷你:初始加載65k。若gzip壓縮傳輸,縮減為24k左右。

          使用簡單:簡單的調用方式,就能將您的textarea立馬變成一個可視化編輯器。

          無障礙訪問:提供WAI-ARIA全面支持,全程語音向導,讓殘疾人也能使用。

          內置Ajax上傳:內置強大的Ajax上傳,剪切板上傳及遠程抓取上傳。

          Word自動清理:實現Word代碼自動檢測并清理。

          UBB可視化編輯:提供完美的UBB可視化編輯解決方案。

          9、bootstrap-wysiwyg

          網址:http://www.bootcss.com/p/bootstrap-wysiwyg/

          為Bootstrap定制的微型所見即所得(What you see is what you get)富文本編輯器。輕量、簡潔大方好看、使用方便。

          10、QuillEditor

          網址:https://quilljs.com/

          Quill 是一個開源的富文本編輯器,基于可擴展的架構設計,提供豐富的 API 進行定制。一個可以幫助開發人員解決所見即所得的編輯器工具,該編輯器旨在通過自身的編輯模塊提供強大的API來構建自定義式的編輯器,最重要的是它沒有規定樣式,你可以自定義自己的編輯器以符合自己的使用需求。

          HM Editor是一款WYSIWYG編輯器,可以幫助用戶進行CHM文件的編輯。通過軟件你可以先對所有的HTML文件進行提取液,然后到對應的資源文件夾中進行JAVA導航樹的生成,通過生成導航樹可以讓你更方便的找到自己需要的文件內容,然后對CHM文件進行一個編輯處理,可以進行修改和反編譯等等操作,有需要的用戶快來下載看看吧。

          來源:http://www.3h3.com/soft/275316.html

          軟件功能

          1.CHM Editor最新版以所見即所得的方式編輯CHM文件;

          2.在HTML模式編輯CHM文件;

          3.幾個內置的在線翻譯工具;

          4.轉換器從CHM為HTML格式;

          5.字符集轉換;

          6.圖像處理。

          使用說明

          1、打開在本站下載好的CHM Editor最新版,打開軟件后點擊軟件頂部的【文件】選項,在彈出的下拉中點擊【新建】選項。

          2、打開CHM Editor新建窗口后,選擇您要創建的模板就可了,然后輸入方案的名稱,文件名就可以了。

          3、它的格式是E:+路徑+文件名;也就是E:chm_helpchm_使用幫助.chm (+別打上去,E為磁盤盤符)。

          4、然后就可以新建一個CHM Editor文件了。

          5、點擊左側的您新建的節點,在彈出的選擇【重命名】。或者直接左鍵選中摁F2。

          6、如果您想給CHM Editor節點,您可以選擇一個Top然后點擊鼠標右鍵在彈出的選項中點擊【添加主題】然后選擇【添加主題】。

          7、在打開的窗口中輸入您要創建的主題名稱,輸入完成后點擊【確定】。

          8、點擊CHM Editor左側的【屬性】選項卡,您就可以給您的節點添加屬性了,您可以自行選擇。


          主站蜘蛛池模板: 国产成人精品第一区二区| 亚洲日本一区二区| 国模大尺度视频一区二区| 91福利国产在线观看一区二区| 无码人妻久久久一区二区三区| 国产精品一区在线麻豆| 久久久久人妻一区精品果冻| 一区二区三区在线免费看| 人妻少妇AV无码一区二区| 国产精品合集一区二区三区 | 精品人妻一区二区三区浪潮在线| 无码国产精品一区二区高潮 | 无码中文字幕乱码一区| 亚洲韩国精品无码一区二区三区| 日韩免费一区二区三区在线| 日韩国产一区二区| 国产人妖在线观看一区二区| 日韩精品无码一区二区三区| 成人免费av一区二区三区| 国产视频一区二区在线观看| 亚洲国产高清在线精品一区| 久久综合一区二区无码| 亚洲AV本道一区二区三区四区| 国产精品成人一区二区| 久久久99精品一区二区| 日韩精品无码一区二区三区AV | 无码日韩精品一区二区人妻| 国模吧一区二区三区精品视频| 天堂va在线高清一区 | 免费高清在线影片一区| 一区二区传媒有限公司| 女人18毛片a级毛片一区二区| 伊人色综合一区二区三区影院视频| 亚洲一区中文字幕在线电影网| 色老头在线一区二区三区| 国产乱码精品一区二区三区中| 99精品国产一区二区三区2021| 亚洲一区二区三区丝袜| 免费无码AV一区二区| 国产伦精品一区二区三区视频金莲| 国产成人高清精品一区二区三区|