整合營銷服務商

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

          免費咨詢熱線:

          細數幾款免費好用的在線HTML編輯器

          普及一下基本知識:什么叫在線HTML編輯器?

          說得簡單點,在線HTML編輯器就是在網上發帖子、寫博客的那個帶編輯功能的框框,可以進行圖文排版等操作。


          當年本菜鳥做網站的時候,曾經自己用javascript編寫過一個比較簡單的在線HTML編輯器,用于文本內容的排版。但是因為水平有限,很多功能都無法實現。后來有了eWebEditor,功能確實強大,但這個編輯器是個收費的軟件,并且正因為功能強大,也就顯得過重,一些輕量的場合不是太適用。那有沒有既免費、又功能強大、還能適應輕量場合的在線HTML編輯器呢?

          答案肯定是有的。這首先要感謝這些年來有一批奉獻精神的程序猿們不斷推進共享軟件的開發,讓我們得以享受他們的成果。

          一、百度出品的UEditor

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

          百度UEditor

          UEditor還有一個輕量版的,叫做UMeditor,簡稱UM。UM是為滿足廣大門戶網站對于簡單發帖框,或者回復框需求所定制的在線HTML編輯器。 主要特點是容量和加載速度上的改變,主文件的代碼量為139k,而且放棄了使用傳統的iframe模式,采用了div的加載方式, 以達到更快的加載速度和零加載失敗率。UM的第一個使用者是百度貼吧,以經受貼吧每天幾億的pv的考驗,功能設計應當是最優化的了。 當然隨著代碼的減少,UM的功能對于UE來說還是有所減少,但也有增加,比如拖拽圖片上傳,chrome的圖片拖動改變大小等。

          百度UEditor界面

          二、xhEditor開源HTML編輯器

          xhEditor是一個基于jQuery開發的簡單迷你并且高效的可視化HTML編輯器,基于網絡訪問并且兼容IE 6.0+,Firefox 3.0+,Opera 9.6+,Chrome 1.0+,Safari 3.22+。

          xhEditor完全基于Javascript開發,可以應用在任何的服務端語言環境下,例如:PHP、ASP、ASP.NET、JAVA等。可以在CMS、博客、論壇、商城等互聯網平臺上完美的嵌入運行,能夠非常靈活簡單的和您的系統實現完美的無縫銜接。

          主要特點:

          • 精簡迷你:初始加載4個文件,包括:1個js(50k)+2個css(10k)+1個圖片(5k),總共65k。若js和css文件進行gzip壓縮傳輸,可以進一步縮減為24k左右。

          • 使用簡單:簡單的調用方式,加一個class屬性就能將textarea變成一個功能豐富的可視化編輯器。

          • 無障礙訪問:提供WAI-ARIA全面支持,全鍵盤精細操作,全程語音向導,提供完美無障礙訪問體驗,充分滿足殘疾人的上網需求。

          • 內置Ajax上傳:內置強大的Ajax上傳,包括HTML4和HTML5上傳支持(多文件上傳、真實上傳進度及文件拖放上傳),剪切板上傳及遠程抓取上傳

          • Word自動清理:實現Word代碼自動檢測并清理,生成代碼最優化精簡,卻不丟失細節效果。

          • UBB可視化編輯:支持UBB可視化編輯,在獲得安全高效代碼存儲的同時,又能享受可視化編輯的便捷。

          三、KindEditor開源HTML編輯器

          KindEditor 也是一個開源的在線HTML編輯器, 使用 JavaScript 編寫,可以無縫地與 Java、.NET、PHP、ASP 等程序集成,比較適合在 CMS、商城、論壇、博客、Wiki、電子郵件等互聯網應用上使用。本菜鳥感覺這個編輯器上手比較容易,功能也很強大,界面比較友好,很適合菜鳥使用??上У氖亲罱孟裢V垢铝?,官網好象也能不正常訪問。

          KindEditor界面

          主要特點:

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

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

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

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

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

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

          四、阿里的KISSY

          嚴格來說,KISSY不僅僅是一個在線HTML編輯器,而是由阿里集團前端工程師們發起創建的一個開源 JS 框架,具有跨終端、模塊化、使用簡單的特點。里面帶有HTML編輯器這個模塊。

          阿里的KISSY

          正因為KISSY采取模塊化設計,因此具有高擴展性、組件齊全,接口一致、自主開發、適合多種應用場景等優點。KISSY 除了完備的工具集合諸如 DOM、Event、Ajax、Anim 等,KISSY 還面向團隊協作做了獨特設計,提供了經典的面向對象、動態加載、性能優化解決方案。作為一款全終端支持的 JavaScript 框架,KISSY還 為移動終端做了大量適配和優化,搞移動web開發的可以好好研究一下KISSY的運用。


          關于菜鳥手記:

          菜鳥最怕就是看大神的攻略,全是術語看頭就頭大!本人作為一名對啥都感興趣的資深菜鳥,潛心研究各類技術二十余年,做網站、寫程序、搞美工、練書法、學畫畫、作文章、抓管理、裝逼格,屬于搞IT里面最懂美工的,搞HR里面最懂畫畫的,搞文字里面最懂程序的,最終一事無成,博而不精,徒留一堆手記。從菜鳥角度寫手記,同樣的”白”更易懂,你值得擁有!感興趣的,請別忘點右角關注菜鳥手記。

          然任何文本編輯器都可以在創建超文本標記語言文檔時起作用,但一些HTML編輯器針對HTML的語法進行了優化。根據可定制性、特性和功能,我們確定了九個最佳的Windows免費編輯器。

          最適合Web設計師和前端開發人員:Notepad ++

          Notepad++是最受歡迎的免費筆記應用程序和代碼編輯器。默認情況下,這是Windows中提供的Notepad軟件的一個更強大的版本。

          Notepad++包括行號、顏色編碼、提示和其他標準Notepad應用程序所沒有的有用工具等功能。這些新增功能使其成為web設計師和前端開發人員的理想選擇。

          最佳開源,免費編輯器:Komodo Edit

          Komodo有兩個版本:Komodo Edit和Komodo IDE。Edit是開源的,可以免費下載。這是IDE的精簡版。

          Komodo Edit包含許多用于HTML和CSS開發的強大功能。此外,它還允許你添加擴展以獲得更多的語言支持或其他有用的功能,如特殊字符。

          Komodo并不是最好的HTML編輯器。盡管如此,它的價格還是不錯的,尤其是如果你使用XML構建,它確實非常出色。

          最適合Web應用程序開發:Aptana Studio 3

          Aptana Studio 3為網頁開發提供了一個有趣的視角。它不關注HTML,而是關注JavaScript和其他允許你創建豐富的互聯網應用程序的元素。

          Aptana Studio 3可能不是最適合簡單網頁設計需求的。但是,如果你更傾向于web應用程序開發,它的工具集可能非常適合。

          最好的Java和Web頁面:Apache NetBeans

          Apache NetBeans提供了一個Java IDE,可以幫助你構建健壯的web應用程序。

          像大多數IDE一樣,Apache NetBeans有一個陡峭的學習曲線,因為它的工作方式與其他網絡編輯器不同。然而,一旦你習慣了它,你就會發現它非常有用。

          IDE的版本控制和開發人員協作功能對于在大型開發環境中工作的人員來說非常方便。如果你編寫Java和網頁,這是一個很好的工具。

          最適合開始創建應用程序:Microsoft Visual Studio Community

          Microsoft Visual Studio Community是一個可視化IDE,可幫助web開發人員和其他程序員為web、移動設備和桌面創建應用程序。你以前可能使用過它,但Visual Studio Community是該軟件的最新版本。

          微軟為專業和企業用戶提供免費下載和付費版本(包括免費試用版)。

          Microsoft Visual Studio Code是一款免費的僅限編碼的應用程序,是Visual Studio套件的一部分,但它是獨立的。它是一個優秀的獨立代碼編輯器,適用于數十種編碼和腳本語言。

          最佳所見即所得編輯器:BlueGriffon

          BlueGriffon是一系列網頁編輯器中的最新一個,從Nvu開始,發展到Kompozer,現在在BlueGriffn達到頂峰。Gecko是Firefox的渲染引擎,它為它提供了強大的功能,因此它很好地展示了如何在符合標準的瀏覽器中渲染工作。

          它可用于Windows、macOS和Linux以及各種語言。

          這是唯一一個真正的所見即所得編輯器列入這個列表。因此,它對初學者和小企業主更具吸引力,他們希望以可視化的方式工作,而不是以代碼為中心的界面。

          最佳全功能HTML編輯器:Bluefish

          Bluefish是一個功能齊全的HTML編輯器,適用于各種平臺,包括Windows、macOS和Linux。

          值得注意的功能包括代碼敏感的拼寫檢查、多種語言(HTML、PHP、CSS等)的自動完成、代碼片段、項目管理和自動保存。

          Bluefish主要是一個代碼編輯器,而不是專門的網絡編輯器。這意味著它對使用HTML以外的語言編寫的web開發人員具有靈活性。然而,如果你是一名設計師,想要更多以網絡為中心或所見即所得的界面,Bluefish可能不適合你。

          最適合創建復雜的Web應用程序:Eclipse

          Eclipse是一個復雜的開發環境,非常適合在各種平臺和語言上進行大量編碼的人。它是在插件設計中構建的,所以如果你需要編輯某些內容,請找到合適的插件并開始工作。

          如果你創建復雜的web應用程序,Eclipse有許多功能可以使你的項目更容易構建。它提供Java、JavaScript和PHP插件以及一個面向移動開發人員的插件。

          最適合網絡設計初學者:CoffeeCup Free HTML Editor

          CoffeeCup HTML編輯器有一個免費版本和一個付費完整版本。免費產品是一款不錯的產品,但該平臺的許多最佳功能都需要你購買完整版本。

          CoffeeCup還提供了一個名為“響應式網站設計2”的升級,支持響應式網頁設計。此版本可以與編輯器的完整版本一起添加到捆綁包中。

          許多網站將其列為免費的所見即所得編輯器。然而,當我們測試它時,它需要購買CoffeeCup Visual Editor才能支持所見即所得。免費版本只是一個非常好的文本編輯器。

          這個編輯器在網絡設計師中的得分與Eclipse和Komodo Edit一樣高,但在網絡開發人員中的得分沒有那么高。然而,如果你是網絡設計和開發的初學者,或者你是一個小企業主,那么這個工具比Komodo Edit或Eclipse有更多適合你的功能。

          多人可能都用過Web編輯器,比如Ckedit等,除了Word等本地編輯器外Web編輯器也是最常用最方便Web內容來源。這些在線編輯器的一個短板限制很多,不能實時反饋在線效果。本文蟲蟲給大家介紹一種很簡單的無限制在線Html編輯器,實現所寫即所得UI和樣式實時刷新,JS代碼也能進行熱加載執行重新渲染,而且這些實現都非常簡單,只用到了很少的html和css代碼。

          Html內容可編輯—contenteditable

          要使Html可以編輯實際上很簡單只要一個body標簽就足矣。contenteditable這個body屬性可能鮮為人知,實際上它的功能就是實現Html文檔可編輯。我們新建一個Html文檔(Cc.html),然后將如下代碼復制粘貼到文檔中:

          <body contenteditable="true"></body>

          通過瀏覽器打開這個文檔,怎么樣,神奇的事情發生了把?

          你可以在這個頁面任意輸入文本甚至還可以粘貼圖片。(兼容基本上所有的瀏覽器,IE也可以)。還可以支持Ctr+Z撤銷和重做。

          <style>…</style>樣式實時變化

          我們知道<div>…</div>和<p>…</p>標簽內的文字都會在頁面顯示,而<script>…</script>和<style>…</style>中的都是引用的前端腳本的代碼(JS)等需要通過瀏覽器引擎執行渲染顯示出來的,那么這些代碼是不是可以在顯示出來呢?實際上在大多數瀏覽器只是通過CSS樣式隱藏起來的,我們通過重寫在div>…</div>中增加script, style { display: block; }即可:

          <body>

          <style>

          script, style { display: block; }

          </style>

          <script>

          console.log("Hello Chongchong!");

          </script>

          </body>

          通過將其粘貼到html文件并在瀏覽器中打開它,顯示如下:

          而且,我們也可以將這個頁面也設置為contenteditable,并且<style></ style>增加樣式顯示,比如我們修改字體的大小為20pt,顏色為綠色:

          <body contenteditable="true">

          <style>

          script, style { display: block;font-size: 20pt;color: green}

          </style>

          <script>

          console.log("Hello ChongChong!");

          </script>

          </body>

          現在我們可以,通過在線編輯style{}的內容,讓頁面的呈現實時變化,比如字體再增加10pt,顏色變成藍色。

          注意,輸入時候內容會實時變化的,比如你修改20pt為30pt途中,你字體會變成2,很小很小,繼續刪除2就會恢復成默認正常默認,你不用理會繼續輸入30字體就會變成30pt,其他參數也類似。

          該方法可以實時刷新樣式顯示<style></ style>標簽,對于JS代碼,由于其只會在頁面加載時候執行一次,你可以修改<script>…</script>內容,但是不能實時執行生效。

          JS代碼熱加載

          上面我也說,JS代碼的修改需要重新加載才能執行。為了實現重新加載,我們首先使用簡單的按鍵(Shift+enter)觸發重新加載的方法:

          <body contenteditable="true">

          <style>

          script, style { display: block;font-size: 20pt; color: green}

          </style>

          <script>

          //alert("Hello ChongChong!");

          document.onkeydown = function(e) {

          var key = window.event ? event : e;

          if (key.shiftKey && key.keyCode == 13) {

          eval(window.getSelection().focusNode.parentNode.innerHTML);

          }

          };

          </script>

          </body>

          通過瀏覽器打開,并且編輯去掉//alert("Hello ChongChong!")前面的//注釋,然后按鍵shift時按Enter鍵。

          結果如上圖就可以彈出一個消息窗口。

          基礎模版和完善

          通過上面的方法我們實現了一個可編輯上面在線編輯器。在前面代碼的基礎上,我們提供一個基礎的模版供大家使用,完整代碼如下:

          <body contenteditable="true" spellcheck="false">

          <title>editor</title>

          <style>script,

          style {

          display: block;

          white-space: pre-wrap;

          background-color: #eeeeee;

          border: solid;

          border-radius: 10px;

          padding: 20px;

          }

          body {

          font-family: Menlo, Monaco, monospace;

          font-size: 12pt;

          tab-size: 4;

          }

          script.success {

          background-color: #ccffcc;

          border: solid, #00cc00;

          }

          script.error {

          background-color: #ffcccc;

          border: solid, #ff1111;

          }

          </style>

          <script type="text/javascript" class="success">

          //alert("Hello Chongchong!");

          document.onkeydown = function(e) {

          var key = window.event ? event : e;

          var node = window.getSelection().focusNode;

          if (key.shiftKey) {

          if (key.keyCode == 13) {

          node.parentNode.classList.remove("error");

          node.parentNode.classList.remove("success");

          try {

          eval(node.parentNode.innerHTML);

          node.parentNode.classList.add("success");

          } catch (e) {

          node.parentNode.classList.add("error");

          }

          return false;

          }

          } else {

          if (key.keyCode == 13) {

          document.execCommand("insertHTML", false, "\n");

          return false;

          }

          if (key.keyCode == 9) {

          document.execCommand("insertHTML", false, "\t");

          return false;

          }

          }

          }

          </script>

          </body>

          將上面代碼保存為html,然后用瀏覽器打開就實現了一個簡單的在線html編輯器。

          完善功能

          該在線編輯器模版還非常簡陋,如果能增加語法高亮和自動完成等一些功能可能很好,但是這是很大工作量,有興趣的可以嘗試著做下。也可以通過引入一些第三方的庫來做下,比如使用微軟的language-server-protocol 庫來實現自動完成功能。

          至于語法高亮,一般做法是將所有內容填充到標簽中并對其進行著色(大多數其他基于html的編輯器都這樣做),但是這樣會破壞自動刷新和熱加載功能的簡單性。

          完善內容

          你可能還希望處理實際內容,而不僅僅是編輯本身。這個簡單,只需在contenteditable body中添加另一個元素,該操作可以通過JS腳本實現該操作。還可以添加更多元素,例如一個按鈕或者只是通過修改快速HTML框來實現。這些都可以在提供的模版的基礎上按需增加修改。

          總結

          本文我們在contenteditable屬性的基礎上實現了,在線Html的編輯器實現內容和樣式的實時更新、實現了JS代碼的熱加載。雖然此在線編輯器還非常簡陋,但是以此作為一個想法和基礎"拋磚引玉",希望大家可以實現一個功能完善,更加實用的在線編輯器。


          主站蜘蛛池模板: 久久精品国产第一区二区三区| 久久免费国产精品一区二区| 伊人色综合视频一区二区三区| 亚洲一区二区三区高清视频| 亚洲人成人一区二区三区| 国产亚洲一区二区精品| 三上悠亚精品一区二区久久| 麻豆精品久久久一区二区| 色窝窝无码一区二区三区色欲| 精品国产福利第一区二区三区| 久久久久人妻一区精品性色av| 亚洲性无码一区二区三区| 一区二区三区内射美女毛片| 久久国产免费一区二区三区| 国模私拍福利一区二区| 波多野结衣中文一区| 精品永久久福利一区二区| 国产一区二区三区乱码在线观看| 精品国产亚洲一区二区在线观看| 国产香蕉一区二区在线网站| 久久久久国产一区二区三区| 日韩毛片基地一区二区三区| 成人免费一区二区三区| 国产一区视频在线免费观看| 69久久精品无码一区二区| 国产成人高清精品一区二区三区| 亚洲高清一区二区三区| 人妻无码久久一区二区三区免费 | 日本成人一区二区| 中文字幕精品无码一区二区三区| 日本一区二区三区在线看| 日韩一区二区视频| 久久一区二区三区精华液使用方法 | 亚洲V无码一区二区三区四区观看| 在线视频一区二区三区四区| 国内精品一区二区三区在线观看| 日韩最新视频一区二区三| 国产在线观看精品一区二区三区91| 国产精品99精品一区二区三区 | 午夜视频在线观看一区| 国产一区二区三区在线免费|