两款富文本编辑器——Kindeditor+UEditor

来源:互联网 发布:恶意广告拦截软件 编辑:程序博客网 时间:2024/06/07 09:37

菜菜君最近第一次使用富文本编辑器,折腾了半天才摸到了一点门道。先概括一下。kindeditor比UEditor的功能少,但是也算五脏俱全,基本的功能都有了。另外,UEditor的界面感觉更好看。但是,菜菜君觉得,UEditor用起来更复杂啊啊啊啊!至少,菜菜君现在还没弄好...希望高人路过指点一二。


一、富文本编辑器kindeditor



网址:http://kindeditor.net/demo.php


下载KindEditor


引入kindeditor-min.js、zh_CN.js、default.css


将plugins文件夹放在js文件夹下面


<textarea name="content" style="width:800px;height:400px;visibility:hidden;">你好!</textarea>




<script type="text/javascript">


var editor;


KindEditor.ready(function(K) {
editor = K.create('textarea[name="content"]', {
allowFileManager : true
});
K('input[name=getHtml]').click(function(e) {
alert(editor.html());
});
K('input[name=isEmpty]').click(function(e) {
alert(editor.isEmpty());
});
K('input[name=getText]').click(function(e) {
alert(editor.text());
});
K('input[name=selectedHtml]').click(function(e) {
alert(editor.selectedHtml());
});
K('input[name=setHtml]').click(function(e) {
editor.html('<h3>Hello KindEditor</h3>');
});
K('input[name=setText]').click(function(e) {
editor.text('<h3>Hello KindEditor</h3>');
});
K('input[name=insertHtml]').click(function(e) {
editor.insertHtml('<strong>插入HTML</strong>');
});
K('input[name=appendHtml]').click(function(e) {
editor.appendHtml('<strong>添加HTML</strong>');
});
K('input[name=clear]').click(function(e) {
editor.html('');
});
});

</script>



文本域大小固定:


在kindeditor.js中243行,resizeType 2或1或0,2时可以拖动改变宽度和高度,1时只能改变高度,0时
不能拖动。




二、富文本编辑器UEditor


网址:http://ueditor.baidu.com/website/onlinedemo.html


(1)下载UEditor Development


在页面目录下包含进third-party、lang、dialogs、themes四个文件夹


<script id="editor" type="text/plain" style="width:750px;height:300px;">你好!</script>


引入ueditor.config.js、ueditor.all.js、zh-cn.js


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


    function isFocus(e){
        alert(UE.getEditor('editor').isFocus());
        UE.dom.domUtils.preventDefault(e)
    }
    function setblur(e){
        UE.getEditor('editor').blur();
        UE.dom.domUtils.preventDefault(e)
    }
    function insertHtml() {
        var value = prompt('插入html代码', '');
        UE.getEditor('editor').execCommand('insertHtml', value)
    }
    function createEditor() {
        enableBtn();
        UE.getEditor('editor');
    }
    function getAllHtml() {
        alert(UE.getEditor('editor').getAllHtml())
    }
    function getContent() {
        var arr = [];
        arr.push("使用editor.getContent()方法可以获得编辑器的内容");
        arr.push("内容为:");
        arr.push(UE.getEditor('editor').getContent());
        alert(arr.join("\n"));
    }
    function getPlainTxt() {
        var arr = [];
        arr.push("使用editor.getPlainTxt()方法可以获得编辑器的带格式的纯文本内容");
        arr.push("内容为:");
        arr.push(UE.getEditor('editor').getPlainTxt());
        alert(arr.join('\n'))
    }
    function setContent(isAppendTo) {
        var arr = [];
        arr.push("使用editor.setContent('欢迎使用ueditor')方法可以设置编辑器的内容");
        UE.getEditor('editor').setContent('欢迎使用ueditor', isAppendTo);
        alert(arr.join("\n"));
    }
    function setDisabled() {
        UE.getEditor('editor').setDisabled('fullscreen');
        disableBtn("enable");
    }


    function setEnabled() {
        UE.getEditor('editor').setEnabled();
        enableBtn();
    }


    function getText() {
        //当你点击按钮时编辑区域已经失去了焦点,如果直接用getText将不会得到内容,所以要在选回来,然后取得内容
        var range = UE.getEditor('editor').selection.getRange();
        range.select();
        var txt = UE.getEditor('editor').selection.getText();
        alert(txt)
    }


    function getContentTxt() {
        var arr = [];
        arr.push("使用editor.getContentTxt()方法可以获得编辑器的纯文本内容");
        arr.push("编辑器的纯文本内容为:");
        arr.push(UE.getEditor('editor').getContentTxt());
        alert(arr.join("\n"));
    }
    function hasContent() {
        var arr = [];
        arr.push("使用editor.hasContents()方法判断编辑器里是否有内容");
        arr.push("判断结果为:");
        arr.push(UE.getEditor('editor').hasContents());
        alert(arr.join("\n"));
    }
    function setFocus() {
        UE.getEditor('editor').focus();
    }
    function deleteEditor() {
        disableBtn();
        UE.getEditor('editor').destroy();
    }
    function disableBtn(str) {
        var div = document.getElementById('btns');
        var btns = UE.dom.domUtils.getElementsByTagName(div, "button");
        for (var i = 0, btn; btn = btns[i++];) {
            if (btn.id == str) {
                UE.dom.domUtils.removeAttributes(btn, ["disabled"]);
            } else {
                btn.setAttribute("disabled", "true");
            }
        }
    }
    function enableBtn() {
        var div = document.getElementById('btns');
        var btns = UE.dom.domUtils.getElementsByTagName(div, "button");
        for (var i = 0, btn; btn = btns[i++];) {
            UE.dom.domUtils.removeAttributes(btn, ["disabled"]);
        }
    }


    function getLocalData () {
        alert(UE.getEditor('editor').execCommand( "getlocaldata" ));
    }


    function clearLocalData () {
        UE.getEditor('editor').execCommand( "clearlocaldata" );
        alert("已清空草稿箱")
    }


在ueditor.config.js中保留需要的功能按钮


求助:各位大大们,你们知道为什么菜菜君所有的对话框窗体内容都显示不出来吗!?它们每次出来都是酱的!




(2)下载UEditor Builder


没下载成功呐,改天再试试!

0 0
原创粉丝点击