亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

ueditor常見用法

2024-04-27 15:08:43
字體:
來源:轉載
供稿:網友

1.在ueditor光標處插入內容使用( inserthtml )

 

UE.getEditor('editor').execCommand('inserthtml', text);

2.在ueditor已有內容的末尾追加內容使用

 

UE.getEditor(Emotion.TchUeditor).setContent('testtext', true);

 

3.光標焦點在ueditor顯示使用

UE.getEditor(Emotion.TchUeditor).focus();//此時光標出現在ueditor最前面

UE.getEditor(Emotion.TchUeditor).focus(true);//此時光標出現在ueditor最后面

 

4.在ueditor中添加一個或多個新的或者改變原有的按鈕(小圖標)

 

UE.registerUI('button', function(editor, uiName) {

    //注冊按鈕執行時的command命令,使用命令默認就會帶有回退操作

    editor.registerCommand(uiName, {

        execCommand: function() {

            alert('execCommand:' + uiName)

        }

    });

    //創建一個button

    var btn = new UE.ui.Button({

        //按鈕的名字

        name: uiName,

        //提示

        title: uiName,

        //添加額外樣式,指定icon圖標,這里默認使用一個重復的icon

        CSSRules: 'background-position: -500px 0;',

        //點擊時執行的命令

        onclick: function() {

            //這里可以不用執行命令,做你自己的操作也可

            editor.execCommand(uiName);

        }

    });

    //當點到編輯內容上時,按鈕要做的狀態反射

    editor.addListener('selectionchange', function() {

        var state = editor.queryCommandState(uiName);

        if (state == -1) {

            btn.setDisabled(true);

            btn.setChecked(false);

        } else {

            btn.setDisabled(false);

            btn.setChecked(state);

        }

    });

    //因為你是添加button,所以需要返回這個button

    return btn;});

 

添加多個按鈕

UE.registerUI('bold italic redo undo underline strikethrough', function(editor, uiName) {

    //注冊按鈕執行時的command命令,使用命令默認就會帶有回退操作

    editor.registerCommand(uiName, {

        execCommand: function() {

            alert('execCommand:' + uiName)

        }

    });

    //創建一個button

    var btn = new UE.ui.Button({

        //按鈕的名字

        name: uiName,

        //提示

        title: uiName,

        //添加額外樣式,指定icon圖標,這里默認使用一個重復的icon

        cssRules: 'background-position: -500px 0;',

        //點擊時執行的命令

        onclick: function() {

            //這里可以不用執行命令,做你自己的操作也可

            editor.execCommand(uiName);

        }

    });

    //當點到編輯內容上時,按鈕要做的狀態反射

    editor.addListener('selectionchange', function() {

        var state = editor.queryCommandState(uiName);

        if (state == -1) {

            btn.setDisabled(true);

            btn.setChecked(false);

        } else {

            btn.setDisabled(false);

            btn.setChecked(state);

        }

    });

    //因為你是添加button,所以需要返回這個button

    return btn;});

 

 

5.Ueditor常見API列表總結(官網上有)

 

 

實例化編輯器到id為 container 的dom 容器上:詳細

var ue = UE.getEditor('container');

設置編輯器內容:詳細

ue.ready(function() {

    ue.setContent('<p>hello!</p>');});

追加編輯器內容:詳細

ue.ready(function() {

    ue.setContent('<p>new text</p>', true);});

獲取編輯器html內容:詳細

ue.ready(function() {

    var html = ue.getContent();});

獲取純文本內容:詳細

ue.getContentTxt();

獲取保留格式的文本內容:詳細

ue.getPlainTxt();

獲取純文本內容:詳細

ue.getContentTxt();

判斷編輯器是否有內容:詳細

ue.hasContents();

讓編輯器獲得焦點:詳細

ue.focus();

讓編輯器獲得焦點

ue.blur();

判斷編輯器是否獲得焦點:詳細

ue.isFocus();

設置當前編輯區域不可編輯:詳細

ue.setDisabled();

設置當前編輯區域可以編輯:詳細

ue.setEnabled();

隱藏編輯器:詳細

ue.setHide();

顯示編輯器:詳細

ue.setShow();

獲得當前選中的文本:詳細

ue.selection.getText();

常用命令:詳細

在當前光標位置插入html內容

ue.execCommand('inserthtml', '<span>hello!</span>');

設置當前選區文本格式:詳細

ue.execCommand('bold'); //加粗

ue.execCommand('italic'); //加斜線

ue.execCommand('subscr

ue.execCommand('supscript'); //設置下標

ue.execCommand('forecolor', '#FF0000'); //設置

回退編輯器內容:詳細

ue.execCommand('undo');

撤銷回退編輯器內容:詳細

ue.execCommand('redo');

切換

 

 

6.Ueditor常見問題

 

實例創建后為什么直接執行接口報錯

場景

開發者在創建編輯器時后,會執行一些接口或者調用編輯命令,例如

var ue = UE.getEditor('editor');

ue.setContent('初始化的內容');//或者調用命令//ue.execCommand('inserthtml','內容');

這些代碼看起來沒有問題,編輯器實例也能正確拿到,但就是沒有效果。

UEditor創建編輯區域的原理

其實出現這種問題,其實是大家不了解UEditor的創建原理導致的。因為UEditor的編輯區域是使用iframe作為編輯容器的。所以當編輯器創建實例后,先會創建一個iframe元素,然后在iframe元素中寫入一些腳本,這些腳本會在iframe元素初始化完成時被調用。腳本的作用主要是為編輯器實例賦值iframe中的body,window,document對象的引用。 看到這里,大家就應該明白UEditor的初始化過程其實是個異步過程。

因為是個異步過程。所以場景中的書寫方式就會出現問題了。雖然工廠方法getEditor能正確返回編輯器實例,但同步的代碼ue.setContent馬上就被執行了,因為setContent是在編輯容器中寫內容,這時需要用到body,document等元素,但這些元素的引用賦值卻在異步中才做的賦值。所以才會出現直接執行setContent時會出現無效的問題。當然有時不同瀏覽器的效果會出現不同。一些高級的瀏覽器比如Chrome有時是可以的,但大部分ie瀏覽器都不行。這主要是因為瀏覽器的性能所致的。

那正確的方式是什么呢?

正確的初始化方式

UEditor為開發者提供了ready接口,他會在編輯器所有的初始化操作都結束時調用。保證你要做的操作能在一個完整的初始化環境中執行。

UE.getEditor('editor').ready(function() {

    //this是當前創建的編輯器實例

    this.setContent('內容')})

UEditor的老用戶會說,不是還有個addListener可以注冊ready事件嗎?

UE.getEditor('editor').addListener('ready', function() {

    //this是當前創建的編輯器實例

    this.setContent('內容')})

確實這樣寫也能達到效果,但這樣創建有個小問題。如果的這段代碼是用在第一次創建時就沒有問題。但如果編輯器已經創建,你需要再次賦值,想使用同一段代碼,這時,這里的事件ready是不會觸發的。但你調用接口ready注入你的操作,這種方式,會判斷如果你的編輯器已經初始化完成了,那ready將會自動加載注入的內容,如果還沒有初始化結束,它會自己注冊ready事件,當完成初始化后再掉起自己。所以建議開發者使用ready接口作為初始化時注入操作。

 

如何自定義請求地址

本文檔說明修改請求地址的方法。

應用場景

ueditor 1.4.2+推薦使用唯一的請求地址,通過GET參數action指定不同請求類型。 但很多用戶都希望使用自己寫好的上傳地址,下面提供一種解決方法: 由于所有ueditor請求都通過editor對象的getActionUrl方法獲取請求地址,可以直接通過復寫這個方法實現,例子如下:

UE.Editor.PRototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl;

UE.Editor.prototype.getActionUrl = function(action) {

    if (action == 'uploadimage' || action == 'uploadscrawl' || action == 'uploadimage') {

        return 'http://a.b.com/upload.php';

    } else if (action == 'uploadvideo') {

        return 'http://a.b.com/video.php';

    } else {

        return this._bkGetActionUrl.call(this, action);

    }}

action類型以及說明

uploadimage://執行上傳圖片或截圖的action名稱

uploadscrawl://執行上傳涂鴉的action名稱

uploadvideo://執行上傳視頻的action名稱

uploadfile://controller里,執行上傳視頻的action名稱

catchimage://執行抓取遠程圖片的action名稱

listimage://執行列出圖片的action名稱

listfile://執行列出文件的action名稱

 

如何阻止div標簽自動轉換為p標簽

背景:

剛開始使用UEditor的開發者,會發現一個現象,粘貼到編輯器中的內容如果帶有div標簽,待粘貼到編輯器之后,會發現粘貼到編輯器中的div已經被轉換為p標簽了。首先這不是一個bug,這是UEditor對于進入編輯器中的數據進行的過濾處理。在UEditor中表示段落的標簽是p標簽,很多的編輯操作都是基于p標簽進行的處理。當然我們對div標簽也做了兼容性的處理,如果你想保留div標簽不讓UEditor進行轉換也是可以的。

 

阻止轉換:

UE.getEditor('editorID', {

allowDivTransToP: false

})


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
庆余年2免费日韩剧观看大牛| www.久久久久久.com| 国产99久久久欧美黑人| 午夜免费在线观看精品视频| 亚洲精品日韩激情在线电影| 亚洲精选一区二区| 久久99亚洲精品| 精品久久香蕉国产线看观看亚洲| 91在线无精精品一区二区| 欧美日韩免费观看中文| 中文字幕亚洲字幕| 欧美性猛交xxxx乱大交极品| 91爱视频在线| 欧美老少做受xxxx高潮| 狠狠色狠色综合曰曰| 国产精品黄视频| 欧美久久精品午夜青青大伊人| 国产91精品久久久久久| 欧美激情一级二级| 亚洲欧美另类中文字幕| 精品中文字幕在线2019| 日韩专区中文字幕| 久久精品视频导航| 亚洲午夜av久久乱码| 国产精品99久久久久久白浆小说| 国内精品久久久久影院优| 国产精品永久免费| 亚洲美女视频网站| 亚洲精品国产综合区久久久久久久| 97视频在线观看免费高清完整版在线观看| 日韩大片免费观看视频播放| 欧美日韩另类在线| 中文字幕亚洲欧美日韩2019| 亚洲精品白浆高清久久久久久| 亚洲精品美女久久| 亚洲精品综合久久中文字幕| 国产精品青草久久久久福利99| 日韩黄色高清视频| 日韩精品亚洲精品| 国产精品视频区| www.亚洲男人天堂| 成人黄色激情网| 亚洲乱码国产乱码精品精| 国产精品三级网站| 97国产精品视频人人做人人爱| 欧美黑人xxxⅹ高潮交| 永久免费看mv网站入口亚洲| 国产精品美女久久久久久免费| 国产综合视频在线观看| 国产99久久久欧美黑人| 成人精品一区二区三区电影免费| 国产视频999| 91精品国产综合久久久久久蜜臀| 欧美日韩福利在线观看| 久久国产一区二区三区| 亚洲欧美中文日韩v在线观看| 国产精品一区二区三区成人| 中文字幕亚洲综合| 亚洲精品一区在线观看香蕉| 在线观看欧美视频| 黑人巨大精品欧美一区二区| 日韩av资源在线播放| 欧美—级a级欧美特级ar全黄| 夜夜嗨av一区二区三区免费区| 国产精品精品久久久久久| 91精品视频免费看| 精品成人乱色一区二区| 国产精品久久久久久久久久ktv| 91伊人影院在线播放| 欧美另类交人妖| 最近中文字幕mv在线一区二区三区四区| 欧美在线日韩在线| 日韩av在线影视| 亚洲激情在线观看视频免费| 亚洲网站在线观看| 亚洲第一精品夜夜躁人人爽| 日韩欧美综合在线视频| 欧美一区在线直播| 韩国v欧美v日本v亚洲| 性色av一区二区三区在线观看| 欧美成人精品激情在线观看| 久久九九免费视频| 亚洲精品视频在线观看视频| 国产视频精品自拍| 国产精品三级美女白浆呻吟| 日韩欧美在线视频免费观看| 亚洲第一中文字幕| 91精品久久久久久久久久入口| 欧美成人午夜影院| 色播久久人人爽人人爽人人片视av| 视频在线观看一区二区| 国产在线一区二区三区| 精品亚洲一区二区三区在线播放| 中文字幕在线观看日韩| 97av在线视频| 在线电影中文日韩| 91理论片午午论夜理片久久| 久久久免费精品视频| 久久亚洲欧美日韩精品专区| 国产精品69久久久久| 国产精品久久不能| 97福利一区二区| 丝袜美腿精品国产二区| 欧美日韩亚洲91| 久久免费视频在线观看| 色与欲影视天天看综合网| 亚洲欧美日韩另类| 久久精品国产亚洲| 日韩一区二区在线视频| 亚洲开心激情网| 亚洲女人被黑人巨大进入| 国模视频一区二区| 最近免费中文字幕视频2019| 国产精品狠色婷| y97精品国产97久久久久久| 欧美午夜影院在线视频| 亚洲护士老师的毛茸茸最新章节| 亚洲成人激情图| 亚洲成人在线网| 国产精品久久久久高潮| 伊人av综合网| 777777777亚洲妇女| 国内精品久久久久伊人av| 亚洲免费av电影| 国产精品久久久久久av福利| 国产精品欧美日韩| 成人一区二区电影| 色偷偷综合社区| 伊人久久久久久久久久久| 91久久嫩草影院一区二区| 中文字幕欧美国内| 亚洲一区二区三区乱码aⅴ| 久久久www成人免费精品| 亚洲成人激情在线观看| 91系列在线观看| 久久国产精品久久精品| 伊人久久久久久久久久| 中文日韩在线视频| 欧美激情日韩图片| 久久久久久综合网天天| 国产亚洲欧美日韩美女| 国产99久久精品一区二区| 成人激情黄色网| 欧美黄色片视频| 久久久久久国产免费| 欧美精品在线第一页| 日韩精品久久久久| 2018日韩中文字幕| 欧美午夜精品伦理| 成人美女免费网站视频| 国产精品自拍小视频| 久久久免费在线观看| 精品国产乱码久久久久酒店| 日日摸夜夜添一区| 精品国产999| 在线观看中文字幕亚洲| 国产精品美女无圣光视频| yw.139尤物在线精品视频| 国内久久久精品| 日韩欧美亚洲成人| 亚洲国产精品高清久久久| 亚洲视频在线免费看| 国产suv精品一区二区三区88区| 中文字幕亚洲一区二区三区|