1. 程式人生 > >百度ueditor富文字--自定義外掛按鈕

百度ueditor富文字--自定義外掛按鈕

我們在在之前的文章中講了 百度ueditor富文字 的 配置和初始化的方法。

我們可以給它配置更多的外掛,全部外掛可參考官網:

如果官網提供的外掛仍不能滿足我們的需要時,則可以自定義外掛按鈕。

比如 我們這裡可以 自定義一個按鈕 水印  一點選後就在當前位置 新增 我們的 水印內容。這個功能是需要寫JS方法的,也就是隻要JS能實現的功能,我們都可以成自定義外掛處理。

詳細步驟如下:

第一步 新增按鈕描述

找到ueditor.config.js檔案中的toolbars陣列,增加一個“watermark”字串,然後找到labelMap陣列,對應著新增一個labelMap,labelMap用於滑鼠移上按鈕時的提示。

如果不想在ueditor.config.js檔案中新增 ,也可以在初始化時 新增,我這裡在初始化時新增如下:

$(document).ready(
        function () {
            $(".ueditorFlag").each(function () {
                //例項化編輯器
                var ue = UE.getEditor(this.id, {
                    pasteplain: true, /* 純文字貼上 */
                    toolbars: [['watermark','|', 
                        'fullscreen', 'source', '|', 'undo', 'redo', '|',
                        'bold', 'italic', 'underline', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist', /*'selectall', 'cleardoc',*/ '|',
                        'rowspacingtop', 'rowspacingbottom', 'lineheight', '|', 'fontsize', '|', 'indent', '|',
                        'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|', '|',
                        'link', 'unlink', /*'anchor'*/, '|', 'imagenone', 'imageleft', 'imageright', 'imagecenter', '|',
                        'insertimage', 'preview', '|', 'foreword', 'subhead', 'body', 'caption', 'stress', 'quote'
                    ]],
                    labelMap:{
                    	'watermark':'新增水印連結'
                    }
                });
            });
        }
)


第二步 新增按鈕命令

找到你所引用的ueditor.all.js檔案中的btnCmds陣列,在其中同樣增加一個"watermark"字串。

首先需要確定自己引用的ueditor.all.js檔案。

如果引用的是 壓縮過的 ueditor.all.min.js檔案,則需要修改ueditor.all.js檔案後壓縮一遍,把新的ueditor.all.min.js檔案內容替換進去。

這裡為了方便 我們直接引用 ueditor.all.js檔案,如下:

<script type="text/javascript" charset="utf-8" src="/ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="/ueditor/ueditor.all.js"></script>


開啟ueditor.all.js檔案檔案,找到btnCmds陣列,增加watermark字串。

 //為工具欄新增按鈕,以下都是統一的按鈕觸發命令,所以寫在一起
    var btnCmds = ['watermark','undo', 'redo', 'formatmatch',
        'bold', 'italic', 'underline', 'fontborder', 'touppercase', 'tolowercase',
        'strikethrough', 'subscript', 'superscript', 'source', 'indent', 'outdent',
        'blockquote', 'pasteplain', 'pagebreak',
        'selectall', 'print','horizontal', 'removeformat', 'time', 'date', 'unlink',
        'insertparagraphbeforetable', 'insertrow', 'insertcol', 'mergeright', 'mergedown', 'deleterow',
        'deletecol', 'splittorows', 'splittocols', 'splittocells', 'mergecells', 'deletetable', 'drafts'];


這樣我們的按鈕就新增好了。

清空快取重新整理下頁面吧!工具欄的對應位置是否出現了一個自己定義的按鈕呢?如下圖所示:


第三步 修改樣式

使用新圖示

由於此時未設定對應按鈕的圖片樣式,所以會顯示預設的“B”字元。要想讓其顯示成自己需要的圖示樣式,可以修改樣式檔案。

找到themes/default/css/ueditor.css檔案,在最後增加一條樣式定義:

.edui-default .edui-toolbar .edui-for-watermark .edui-icon {
    background-image: url("../images/foreword.png");
}

這裡 foreword.png圖片是我們新增的一張圖片。如圖:


路徑如圖:


.edui-for-watermark 這裡的watermark需要修改成 跟 自定義外掛的名稱相同,ueditor會自動對應起來。

頁面中需要引入themes/default/css/ueditor.css檔案。
<link href="/ueditor/themes/default/css/ueditor.css" rel="stylesheet" />

最終效果:


檢視工具外掛有沒有引用的這個外掛可以在瀏覽器中點選F12進入開發者模式審查元素,如圖:




使用ueditor已有圖示

我們在F12的開發者模式中看到 帶有 .edui-icon樣式的工具圖示預設都是使用的 ../images/icons.png。

我們在images中檢視圖片icon.png。發現這張圖片中包含了很多工具圖示。如下:


然後通過 css中的設定位移可以使用圖片上的圖示。

比如我們的 .edui-for-watermark ,設定位移如下:

.edui-default .edui-toolbar .edui-for-watermark .edui-icon {
   background-position: -480px -40px;
}

則顯示的是 位置在 -480px -40px的圖示。效果如圖:


第四步 新增命令具體操作

當我們點選按鈕時發現沒有反應,其實在第二步完成後ueditor已經為我們將這個按鈕的點選事件繫結好了,只不過是這個點選方法是空的而已,現在就需要我們自己去重寫這個點選方法了。


在頁面引用的ueditor.all.js檔案任意空白位置新增如下方法(或者在初始化的頁面 js中新增): 

UE.commands['watermark'] = {
	    execCommand : function(){
	   this.execCommand('insertHtml', '<a href="http://blog.csdn.net/zzq900503">張小凡的水印</a>'); return true; 
	    },
		queryCommandState:function(){
		
		}
	};

execComman 按鈕點選時候要處理的資訊,我寫的是呼叫 ueditor的插入時間,插入a標籤的html。
queryCommandState 方法是指當編輯器獲取焦點時要處理的事。

點選後會在編輯框自動加入 水印文字連結,當然也可以換成圖片,想要實現什麼功能 自己可以使用js實現。

效果如圖:


相關推薦

ueditor文字--定義外掛按鈕

我們在在之前的文章中講了 百度ueditor富文字 的 配置和初始化的方法。我們可以給它配置更多的外掛,全部外掛可參考官網:如果官網提供的外掛仍不能滿足我們的需要時,則可以自定義外掛按鈕。比如 我們這裡

spring boot 整合 ueditor文字

  百度的富文字沒有提供Java版本的,只給提供了jsp版本,但是呢spring boot 如果是使用內建tomcat啟動的話整合jsp是非常困難得,今天小編給大家帶來spring boot整合百度富文字需要做哪些    1.先將百度提供的demo和js匯入專案中   2.編寫html

vue整合UEditor文字編輯器使用教程

在前端開發的專案中,難免會遇到需要在頁面上整合一個富文字編輯器。那麼,如果你有這個需求,希望可以幫助到你。 vue是前端開發者所追捧的框架,簡單易上手,但是基於vue的富文字編輯器大多數太過於精簡。於是我將百度富文字編輯器放到vue專案中使用。效果圖如下 前端精品教程:百度網盤下載 廢話不多說。

php如何引入Ueditor文字編輯器

文字編輯器外掛內容豐富,比起傳統的textarea標籤輸入要好用很多,看看如何在頁面實現引入吧 1.下載適合的資源包(可以去官網下載適合的版本),我是php引入 2.下載後解壓放到一個位置。(我用的是TP框架,所以我放在了我的指定公共資料夾Pbulic下) 3.在頁面中引入

vue2.0專案中使用Ueditor文字編輯器

1.首先下載靜態檔案 https://ueditor.baidu.com/website/download.html 2.然後,進行配置 首先把官網下載的Ueditor資源,放入靜態資源src/static中。 修改ueditor.config.js中的window.UEDITO

vue2.x結合UEditor文字編輯器

1.首先下載UEditor原始碼(https://ueditor.baidu.com/website/),將整個檔案放到static資料夾中 2.在src/components資料夾下建立公共元件UEditor.vue檔案,作為編輯器元件   3.通過ueditor.config.js來改

vue整合UEditor文字編輯器

在前端開發的專案中。難免會遇到需要在頁面上整合一個富文字編輯器。那麼。如果你有這個需求。希望可以幫助到你 vue是前端開發者所追捧的框架,簡單易上手,但是基於vue的富文字編輯器大多數太過於精簡。於是我將百度富文字編輯器放到vue專案中使用。效果圖如下 廢話

vue2.x整合UEditor文字編輯器方法

最近開發vue專案過程中,由於產品需要在專案中新增富文字編輯器,也在npm上找了幾個基於vue開發的富文字編輯器,但是對相容性比較高,不能相容到IE9,10。所以最後決定使用百度UEditor。然後又是各種找如何整合到vue中。好記性不如爛筆頭,記錄下來以便以後

Ueditor文字編輯器的使用

最近專案中用到了Ueditor富文字編輯器,趁還沒忘記,整理處理給需要的朋友; 專案環境 語言: Java(web) 工具:Eclipse, Ueditor 專案架構:SSM(springMVC, mybatis, spring) 使用步驟: 1:先去Ueditor官網下載

Springboot整合Ueditor文字編輯器[Eclipse 版]

Part 1:下載富文字編輯器原始碼及JSP程式碼 下載版本如圖所示: Part 2:搭建執行環境 將原始碼資料夾中這個資料夾放入\src\main\java\com\下 將jsp檔案下這些東西放入\src\main\resource

Ueditor文字編輯器基礎使用配置以及怎樣儲存圖片到磁碟

1.下載ueditor,地址:http://ueditor.baidu.com/website/download.html2.我下載的是jsp版本的3.下載解壓後,把整個資料夾下面的東西全部放到一個目錄下,我放在了ueditor資料夾下。4.之後會報錯,因為沒有相應的jar包

ueditor文字編輯器插入html程式碼問題

今天下午想把ueditor儲存的html程式碼從資料庫取出來放回到ueditor中編輯,然後就一直放不進去,通過不斷地測試終於成功,接下來我講一下我的解決方法 從後臺取到值後想在js中直接用 UE.getEditor('editor').execComm

Ueditor文字編輯器上傳圖片

      <script type="text/javascript">            window.UEDITOR_HOME_URL = '/resource/ueditor';                     UE.Editor.prototype._bkGetActionU

【php】ThinkPHP搭建Ueditor文字編輯器

簡介 UEditor是由百度web前端研發部開發所見即所得富文字web編輯器,具有輕量,可定製,注重使用者體驗等特點,開源基於MIT協議,允許自由使用和修改程式碼。 下載UEditor 將下載好的檔案解壓到thinkphp專案中,本文是解壓到PUBLIC目錄下並改資料夾

spring boot 、springMVC環境整合ueditor文字編輯器,使用七牛雲端儲存圖片

基於spring boot的專案中要用到富文字編輯器,但百度UEditor的後臺程式碼給出的是jsp版本的實現,由於專案使用的thymeleaf,不願為了一個外掛單獨新增jsp支援;且專案中又使用七牛儲存圖片等檔案,便重寫UEditor的後臺程式碼。 原料

解決ueditor文字編輯器不能插入視訊的問題/src掉鏈/src清空,不能顯示視訊

1. 直接下載到的百度富文字編輯器當插入優酷/騰訊視訊的時候會自動清掉src,不顯示視訊     造成這樣的原因是:   百度富文字編輯器的過濾器xssFilter導致插入視訊異常,編輯器在切換原始碼的過程中過濾掉img的_url屬性(用來儲存視訊url) 解決辦法: 1

ueditor文字--配置圖片上傳

我們在之前的文章中已經學習瞭如何 初始化百度ueditor富文字編輯器:官網對編輯器的初始化和使用文件是比較詳細的,這裡就不多說了。本小節 主要記錄一下 在初始化完編輯器之後  配置啟用 編輯器中的 圖

springboot配置UEditor 文字詳解

富文字簡介 UEditor是由百度web前端研發部開發所見即所得富文字web編輯器,具有輕量,可定製,注重使用者體驗等特點,開源基

文字定義 命令

百度富文字雖然是一款功能強大的富文字編輯器,但是在工作中往往會遇到更多想象不到的問題,那麼就需要我們擴充套件百度富文字的功能,分享一下如何擴充套件百度富文字。 以做過的替換表頭為例: 首先,找到ueditor.all.js ,新增一下程式碼:此程式碼功能是 將table 表頭 <t

純html如何引用文字編輯器ueditor

      最近專案遇到了純html頁面使用富文字編輯器的需要,思來想去還是百度的富文字功能最豐富,但是ueditor只提供了jsp的demo,參照jsp頁面可以直接用java實現jsp頁面的功能,從而解決html頁面引用ueditor問題。第一步: 把ueditor 檔案引