精华内容
下载资源
问答
  • 百度编辑器上传视频以及视频编辑器预览bug解决

    万次阅读 多人点赞 2017-06-18 00:49:25
    百度编辑器目前来讲挺多人用的,功能多也方便,但是上传视频这个功能有一些小bug,需要做一定的改动才能完好的使用,还是和之前大多数情况一样,网上的答案都差不多,但都不能很好的解决问题,所以研究出结果后还是...

    百度编辑器目前来讲是运用比较广泛的一个编辑器了,不仅开源还有中文的文档,所以很受欢迎,不过里面也有许多地方需要开发人员自己调试,其中一个比较常见的问题就是上传视频了,上传视频本身有一些小bug,这个基本最大的体现就是编辑器内无法预览上传的视频问题。


    我搜集了网上的解决方案,发现基本都一样,大多数都是复制黏贴的答案,虽说一定程度解决了编辑器上传不显示的问题,但却造成了新的bug,例如上传视频框无法关闭,还有只要等切换源码模式再返回来又看不到预览的视频了等。

    所以最后还是自己动手丰衣足食,最后终于找到了完美解决方案,在找问题的过程也发现其实百度编辑器虽然留下了bug,但这些bug完全是在预期内的,也就是给了你解决的途径,只需要能理解他们的代码根据他们的思路来就可以改成你想要的样子,关键还是理解他们的开发思路,想必这对专业的前端肯定是很简单的,奈何我并不是专业的前端,所以还是花了点时间,下面来看解决方案和bug本身的问题。


    先来看具体的bug情况:

    在插入视频里放入地址后,正常显示在插入视频里,这个时候是正常的



    但插入后会显示下图,视频没有正常的预览,这是因为设置插入编辑器里的不是视频的代码,而是image图片的代码


    这个时候如果进入源码看的话,会发现里面是空的,根本什么都没有


    在进入编辑器的预览会发现之前的图片都消失了



    出现这种情况是由于编辑器没有开放视频插入的代码的白名单,所以会被过xss滤掉


    解决方案:

    首先在ueditor.config.js文件里增加xss过滤白名单:


    在这里的末尾加上下列在插入视频中使用的代码:

    source: ['src', 'type'],
    embed: ['type', 'class', 'pluginspage', 'src', 'width', 'height', 'align', 'style', 'wmode', 'play','autoplay','loop', 'menu', 'allowscriptaccess', 'allowfullscreen', 'controls', 'preload'],
    iframe: ['src', 'class', 'height', 'width', 'max-width', 'max-height', 'align', 'frameborder', 'allowfullscreen']
    


    另外由于插入的代码不是视频,那么首先要找到插入编辑器代码的代码,位置在ueditor.all.js里,如果引用的是uedior.min.js就需要在这里找,找到以下代码:



    改完这里后会发现插入视频地址后,虽然编辑器可以看到视频了,但是插入视频的窗口不能关闭了


    之所以会出现这个问题是因为改动embed后,下面红框的代码无法正常找到image标签及其里面的属性导致的,这里只要注释红框的内容就可以解决插入视频框无法自动关闭的问题。



    接着往下看,除开这个bug外,还有新的问题,下面我们来看看点击源码再回到编辑器预览里会发生什么。


    从上面的图上可以看出,去源码里已经视频代码不会被过滤了,但是回到编辑器却是一片空白,这是怎么回事呢?

    问题出在红框里的这段代码里:type="application/x-shockwave-flash" class="edui-faked-video" pluginspage="http://www.macromedia.com/go/getflashplayer"

    type规定了flash格式,我插入的是flash所以没问题,pluginspage是提供用户flash下载地址的(有些用户没有安装flash插件或者没有及时更新),那么问题是在class里了,因为ediu-faked-video会告诉编辑器这不是一个视频,因此会删除embed里的src的链接,因此回到编辑器预览会出现白板。


    网上其他的答案是把ediu-faked-video改成ediu-video,但我不建议,因为只能解决部分问题而已,还有其他的bug,例如如果上传的视频是mp4格式怎么办,另外改动的地方不止样一处,还是有问题,因此我建议改动ueditor.all.js里的下图红框部分:


    这里是判断如果点击视频上传需要导入的是embed代码的情况,之前是image,我们改成了embed,因此这里switch得到的是embed的代码模板,在这里我们去掉

    type="application/x-shockwave-flash" class="' + classname + '" pluginspage="http://www.macromedia.com/go/getflashplayer"' +' 


    更改好后,刷新一下,我们再来看看插入视频后进入源码然后再回到编辑器预览状态下已经没有问题了,可以正常预览,红框里的代码的src内容已经不会被过滤了:



    另外上传视频也可以正常运作,如果是按照网上改edui-faked那种,这里如果传的是MP4等其他格式的就会出问题。

    展开全文
  • 作为一个平台,用户在发布文章也好,产品也好,都需要清除掉他们粘贴过来时的样式,以适应自己平台的需求,总不能让用户任意编辑,然后同一个网站,同一个页面类型呈现的格式五花八门,风格各异...

    1、增加自定义按钮

    2、彻底接管文件上传

    3、高亮提示

    4、滚动条管理

    5、自定义排版

    -----------------------------------------------------------

    作为一个平台,用户在发布文章也好,产品也好,都需要清除掉他们粘贴过来时的样式,以适应自己平台的需求,总不能让用户任意编辑,然后同一个网站,同一个页面类型呈现的格式五花八门,风格各异吧,所以,让我们强制清除我们不支持的格式吧!

    百度编辑器内部其实自带了一个htmlParse,但在使用过程中,有些内容我们需要保留的,他也给弄掉了,但要是完全修正自带的代码,感觉好麻烦啊,算了,自己重新写一个,并接管过来吧

    第一步:粘贴触发排版

    先打开src\adapter\editor.js,找到editor.addListener("afterpaste", function() {这一行,在这行下边追加我们之前添加的按钮事件

                editor.addListener("afterpaste", function () {
                    editor.execCommand('formatcontent'); // 触发我们自己定义的格式化
    

    第二步:接管粘贴事件

    打开\src\plugins\paste.js,这里百度编辑器自己定义了格式化方法的调用。。。。看起来有点眼晕,算了,不管他了

    找到filter(div)的定义,在html = div.innerHTML;之后的代码全部注释掉,换成我们自己的代码

                //ie下使用innerHTML会产生多余的\r\n字符,也会产生 这里过滤掉
                html = div.innerHTML;//.replace(/>(?:(\s|&nbsp;)*?)</g,'><');
                //接管粘贴事件
                if (me.queryCommandState('pasteplain') === 1) {
                    me.execCommand('insertHtml', div.innerTEXT, true);
                } else {
                    address = me.selection.getRange().createAddress(true);
                    me.execCommand('insertHtml', html, true);
                }
                me.fireEvent("afterpaste", html);
                //之后代码全部注释掉
    

    Hmmmmm,没有专门研究百度编辑器怎么实现的代码解析,所以这里我丢失了一个beforepaste事件得触发,反正我用不到 ^v^

    我在这里直接触发afterpaste事件,用来调用自己定义的格式化方法

    第三步:实现粘贴内容格式化

    UE.plugins['formatcontent'] = function () {
        var me = this;
        me.commands['formatcontent'] = {
            execCommand: function () {
                var me = this;
                var body = me.window.document.body;
                var attrs = {
                    a: ['href'],
                    img: ['width', 'height', 'src']
                }
                var keeps = ['text-align', 'font-weight', 'font-style', 'display', 'align-item', 'justify-content'];
                formatElement(body);
                me.execCommand('adwordfilter', 'highlight');
                function formatElement(el) {
                    var name = el.nodeName.toLowerCase();
                    if (name == '#comment') {
                        console.log(el)
                        return;
                    }
                    if (name == '#text') {
                        el.nodeValue = el.nodeValue.replace(/^(&nbsp;|&#32;|&#160;|[\s\r\n\t]| )+/gi, '');
                        return;
                    }
                    if (name == 'img' && el.style.margin == '0px auto') {
                        return;
                    }
                    if (name != 'body') {
                        var tar = el;
                        // 获取当前标签所有样式
                        var style = { length: el.style.length };
                        for (var i = 0; i < el.style.length; i++) {
                            style[i] = el.style[i];
                            style[el.style[i]] = el.style[el.style[i]];
                        }
                        // 获取当前标签所有属性
                        var attr = { length: el.attributes.length };
                        for (var i = 0; i < el.attributes.length; i++) {
                            attr[i] = el.attributes[i].localName;
                            attr[el.attributes[i].localName] = el.attributes[i].value;
                        }
                        // 如果是特定标签,更换成P标签
                        if ($.inArray(name, ['div', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'h7']) > -1) {
                            tar = me.window.document.createElement('p');
                            tar.innerHTML = el.innerHTML;
                            el.parentNode.insertBefore(tar, el);
                            el.parentNode.removeChild(el)
                            el = tar;
                            name = el.nodeName.toLowerCase();
                        }
                        // 清空当前标签所有属性
                        while (el.attributes.length > 0) {
                            el.removeAttribute(el.attributes[0].localName);
                        }
                        // 如果属性不为空,则将符合条件的属性附加回来
                        for (var i = 0; i < attr.length; i++) {
                            switch (attr[i].toLowerCase()) {
                                case 'align':
                                    el.style.textAlign = attr[attr[i]];
                                    break;
                                default:
                                    if (attrs[name]) {
                                        if ($.inArray(attr[i].toLowerCase(), attrs[name]) > -1) {
                                            if (attr[i] == 'href') {
                                                var href = (function (url) {
                                                    if (!/^https?:\/\//gi.test(url)) {
                                                        return url;
                                                    }
                                                    if (/^https?:\/\/([a-z0-9]+\.)?xxxx\.com\.cn(?=$|[\\\/])/gi.test(url)) {
                                                        return url;
                                                    }
                                                })(attr[attr[i]]);
                                                if (href) {
                                                    el.setAttribute('href', href.trim());
                                                }
                                            } else {
                                                el.setAttribute(attr[i], attr[attr[i]]);
                                            }
                                        }
                                    }
                                    break;
                            }
                        }
                        // 将符合条件的样式附加回来
                        for (var i = 0; i < style.length; i++) {
                            if ($.inArray(style[i], keeps) < 0) {
                                console.log(style[i], style[style[i]]);
                            } else {
                                el.style[style[i]] = style[style[i]];
                            }
                        }
                        // 图片前追加p节点后居中
                        if (name == 'img') {
                            var tar = me.window.document.createElement('p');
                            tar.style.textAlign = 'center';
                            el.parentNode.insertBefore(tar, el);
                            el.style.margin = '0px auto';
                            tar.appendChild(el);
                            el = tar;
                        }
                        // br换成p
                        if (name == 'br') {
                            if (el.nextSibling && el.nextSibling.nodeName.toLowerCase() == '#text') {
                                var tar = me.window.document.createElement('p');
                                for (var i = 0; i < el.parentNode.style.length; i++) {
                                    tar.style[el.parentNode.style[i]] = el.parentNode.style[el.parentNode.style[i]];
                                }
                                tar.innerHTML = el.nextSibling.nodeValue;
                                el.parentNode.insertBefore(tar, el);
                                el.parentNode.insertBefore(el, tar);
                                el.parentNode.removeChild(el.nextSibling.nextSibling)
                                el = tar;
                            }
                        }
                        // 单列表格替换为p,否则宽95%
                        if (name == 'table') {
                            var single = true;
                            for (var i = 0; i < el.rows.length; i++) {
                                if (el.rows[i].cells.length > 1) {
                                    single = false;
                                    break;
                                }
                                if (el.rows[i].cells[0].rowSpan > 1 && i < el.rows.length - 1) {
                                    single = false;
                                    break;
                                }
                            }
                            if (single) {
                                var div = me.window.document.createElement('div');
                                for (var i = 0; i < el.rows.length; i++) {
                                    var p = me.window.document.createElement('p');
                                    div.appendChild(p);
                                    p.innerHTML = el.rows[i].cells[0].innerHTML;
                                }
                                el.parentNode.insertBefore(div, el);
                                el.parentNode.removeChild(el)
                                el = div;
                            } else {
                                el.style.width = '95%';
                            }
                        }
                    }
                    for (var i = 0 ; i < el.childNodes.length; i++) {
                        formatElement(el.childNodes[i]);
                    }
                    if (name == 'body') {
                        me.setContent(el.innerHTML);
                        // 去空行空标签
                        var els = me.window.document.querySelector('body').querySelectorAll('*');
                        for (var i = 0; i < els.length; i++) {
                            if (!els[i].innerText.trim()) {
                                if (els[i].querySelectorAll('img').length == 0 && els[i].nodeName.toLowerCase() != 'img') {
                                    els[i].parentNode.removeChild(els[i]);
                                }
                            }
                        }
                        els = me.window.document.querySelector('body').children;
                        // 非居中段落加缩进
                        for (var i = 0; i < els.length; i++) {
                            if (els[i].nodeName.toLowerCase() == 'p' && els[i].style.textAlign != 'center' && els[i].style.justifyContent != 'center') {
                                els[i].innerHTML = '  ' + els[i].innerHTML;
                            }
                        }
                    }
                }
            }
        }
    }
    

    老顾的做法是,定义一些样式和属性,是否允许保留,如果允许保留,则格式化后重新赋予,否则则删除掉

    主要就是样式保留粗体、斜体、居中等,而百度编辑器自身不支持flex布局的内容粘贴过来,所以在样式里保留display和justify-content,就可以保留flex布局了

    当然,float布局一般来说应该是删除掉了,为了保证网站正文风格一致,很少有平台允许float布局和positioin定义

    最后,老顾调用了setContent,用这个方法触发了百度编辑器本身的htmlParse,用来自动进行p标签排版。。。。老顾懒得自己弄了,反正百度编辑器里有了,嘿嘿

    以上实现就是文盲所在单位网站平台的需求了,至于各自需要怎样的排版方式,可以自己进行修改

    展开全文
  • laravel-admin自定义百度编辑器

    万次阅读 2019-01-08 12:19:32
    博主最近在开发一个功能时,需要用到编辑器,因为是使用Laravel-admin系统,但是Laravel-admin自带的编辑器有点不够用(其实是丑,哈哈),所以决定自定义百度编辑器,下面将为大家分享如何自定义百度编辑器。...

           博主最近在开发一个功能时,需要用到编辑器,因为是使用Laravel-admin系统,但是Laravel-admin自带的编辑器有点不够用(其实是丑,哈哈),所以决定自定义百度编辑器,下面将为大家分享如何自定义百度编辑器。

           一、下载ueditor样式文件

           首先我们先去ueditor下载所需的JS、css文件,并保存在项目根目录下的public/vendor下,传送门->ueditor,路径如下:

           二、创建自定义编辑器模板文件      

           然后我们在项目根目录下的resources/views下新建一个UEditor.blade.php的模板文件,代码如下:

    <div class="form-group {!! !$errors->has($errorKey) ?: 'has-error' !!}">
        <label for="{{$id}}" class="col-sm-2 control-label">{{$label}}</label>
    <div class="col-sm-8">
        @include('admin::form.error')
        <textarea class="{{ $class }}" id="{{$name}}" name="{{$name}}" 
           placeholder="{{ $placeholder }}" {!! $attributes !!} >
           {{ old($column, $value) }}
        </textarea>
        @include('admin::form.help-block')
    </div>
    </div>

     路径如下:

          三、创建控件文件

          完成模板文件的创建,我们接下来便开始新建一个控件UEditor.php的文件,代码如下:

    <?php
    /**
     * Created by PhpStorm.
     * User: pc001
     * Date: 2018/10/8
     * Time: 16:31
     */
    
    namespace App\Admin\Extensions;
    
    use Encore\Admin\Form\Field;
    
    class UEditor extends Field
    {
        protected static $css = [
        ];
        public static $isJs=false;
        protected static $js = [
            'vendor/ueditor/ueditor.config.js',
            'vendor/ueditor/ueditor.all.js',
        ];
        protected $view = 'UEditor';
        public function render()
        {
            $this->script = <<<EOT
            UE.delEditor('{$this->id}');
                 var  ue = UE.getEditor('{$this->id}');
                 
    EOT;
            return parent::render();
        }
    }

    路径如下:

          四、配置文件配置

          完成以上操作之后,我们便在跟目录下的app/Admin下的bootstrap.php文件下进行配置,代码如下:

    use Encore\Admin\Form;
    use App\Admin\Extensions\UEditor;
    
    Encore\Admin\Form::forget(['map']);
    Form::extend('ueditor', UEditor::class);

          五、调用自定义控件

          完成以上所有操作,我们便可以在我们的控制器中调用我们的自定义百度编辑器的了,调用如下:

    $form->ueditor('rule', '抽奖规则');

          效果如下:

          这样我们便完成了自定义编辑器~

          更多文章请关注微信公众号

     

    展开全文
  • 1、增加自定义按钮 2、彻底接管文件上传 3、高亮提示 ...百度编辑器的使用说明有很多了,这里不再详细说明,直接开始进行设置 第一步:追加配置 打开ueditor.config.js配置文件,找到toolbars属性 ...

    1、增加自定义按钮

    2、彻底接管文件上传

    3、高亮提示

    4、滚动条管理

    5、自定义排版

    -----------------------------------------------------------

    百度编辑器的使用说明有很多了,这里不再详细说明,直接开始进行设置

    第一步:追加配置

    打开ueditor.config.js配置文件,找到toolbars属性

            toolbars: [['fullscreen', 'source', '|',
                        'formatContent', // 自定义一键排版
                        'imageupload',
                        'fileupload', '|', //附件
                        'paragraph', //段落格式
                        'bold', //加粗
                        'italic', //斜体
                         'justifyleft', //居左对齐
                        'justifyright', //居右对齐
                        'justifycenter', //居中对齐
                        'subscript', //下标
                        'superscript', //上标
                        'spechars', //特殊字符  
                        '|', 'drafts', 'insertimage', '|', 'adwordfilter',
            ],
            ]
    

    toolbars就是定义百度编辑器的顶部按钮集合的,这里,我们追加了四个自定义按钮,分别是:formatContent,imageupload,fileupload和adwordfilter

    第二步:设置按钮的样式

    打开themes\default\_css\button.css或buttonicon.css,追加我们的样式

    .edui-toolbar .edui-for-formatcontent .edui-button-wrap .edui-button-body .edui-icon {margin-right:60px;overflow:visible;background-position: -640px -40px}
    .edui-toolbar .edui-for-formatcontent .edui-button-wrap .edui-button-body .edui-icon:before {content:"一键排版";font-size:12px;line-height:20px;padding-left:24px;width:60px !important;white-space:nowrap;}
    .edui-toolbar .edui-for-imageupload .edui-button-wrap .edui-button-body .edui-icon {margin-right:60px;overflow:visible;background-position: -726px -77px}
    .edui-toolbar .edui-for-imageupload .edui-button-wrap .edui-button-body .edui-icon:before {content:"图片上传";font-size:12px;line-height:20px;padding-left:24px;width:60px !important;white-space:nowrap;}
    .edui-toolbar .edui-for-fileupload .edui-button-wrap .edui-button-body .edui-icon {margin-right:60px;overflow:visible;background-position: -620px -40px}
    .edui-toolbar .edui-for-fileupload .edui-button-wrap .edui-button-body .edui-icon:before {content:"文件上传";font-size:12px;line-height:20px;padding-left:24px;width:60px !important;white-space:nowrap;}
    .edui-toolbar .edui-for-adwordfilter .edui-button-wrap .edui-button-body .edui-icon {margin-right:160px;overflow:visible;background-position: 0px 0px;background:url(/Themes/Images/validatebox_warning.png) no-repeat left center;color:red;}
    .edui-toolbar .edui-for-adwordfilter .edui-button-wrap .edui-button-body .edui-icon:before {content:"广告法违规词提醒:0个词";font-size:12px;line-height:20px;padding-left:24px;width:160px !important;white-space:nowrap;font-weight:bold;}
    

    这里,我们追加了对应我们上边按钮对应的样式,每个按钮对应两个样式,一个是按钮的宽度及图标设置,另一个则是伪类before,如果按钮中不需要显示文字,这个伪类可以不进行设置,.edui-for-按钮名 就是对应的按钮样式了

    我在这里设置的是超出图标范围的内容可见overflow:visible,按钮向右多占一些宽度,margin-right:60px,多占出来的空间,用来显示伪类中的文字,伪类中的样式就不细说了

    第三步:启用按钮功能

    打开src\adapter\editorui.js,找到btnCmds修改

        var btnCmds = ['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',
            'formatContent', 'imageupload', 'fileupload', 'adwordfilter'];
    

    在这里继续追加我们刚才追加的那四个按钮

    这样,我们就在百度编辑器的按钮集里追加设定了我们自己的按钮,并且实现了文字按钮

    展开全文
  • 百度编辑器

    2017-08-18 13:06:38
    百度编辑器源文件
  • 主要介绍了百度编辑器Ueditor增加字体的修改方法,有时候我们需要为编辑器多加几种字体,那么就可以参考下面的方法,需要的朋友可以参考下
  • Ueditor百度编辑器插入video视频

    千次阅读 2020-06-18 00:01:07
    需要在百度编辑器内插入mp4,但总是被和谐。而且默认是embed,不支持手机查看。 白名单内增加了一部分标签,但还是不完善。 于是,新增一个按钮,直接插入拼接好的代码。 1. 页面新增一个input,可以选择或输入音...
  • 百度编辑器+阿里云OSS上传 源码,可自行修改后打成jar
  • 富文本编辑器/UEditor 百度编辑器 PHP版 v1.4.3.3 GBK/UTF-8 Ueditor是由百度web前端研发部开发所见即所得的编辑器,具有轻量,可定制,注重用户体验等特点。Ueditor基于BSD开源协议,除了具有代码精简、加载迅速的...
  • springboot 集成百度编辑器ueditor

    万次阅读 2018-07-27 20:38:38
    最简单的方式集成百度编辑器 1.下载百度编辑器源码 2. springboot静态资源配置在resources下面。将ueditor的静态资源放入项目中如: 我的资源路径为:/resources/js/plugins/ueditor 3.主要修改几个配置...
  • 百度编辑器UEditor开发版是目前UE最新的、包含所有功能的完全版本,目前已经经过QA的第一轮测试。由于编辑器本身的复杂性,再加上UE的功能较多,且用户使用编辑器的侧重点各不相同,导致部分功能的bug除非深入使用...
  • 百度编辑器UEditor v1.4.3.2 更新日志: 更新 video-js 以修复 XSS 安全漏洞 百度编辑器UEditor简介 百度编辑器Ueditor是由百度web前端研发部开发所见即所得的编辑器,具有轻量,可定制,注重用户体验等特点。 ...
  • 图文混排百度编辑器Java后台代码包 以及对应的百度编辑中springboot的项目中的config.json文件的配置
  • 由于项目中用到了强大的UEditor富文本在线编辑器,因项目相关功能需求,而在UEditor编辑器原有的功能插件中没有我们想要的功能,所以就要在UEditor中新增一个(多个方法也一样)按扭并添加相应的功能。 经使用以后...
  • 由于百度编辑器图片复制的限制,无法直接复制Word 的图片复制到百度编辑器,通过该工具,可以将图片直接复制到百度编辑器内,保留Word中原来的图片样式
  • 百度编辑器上传图片限制宽高

    千次阅读 2019-04-29 17:04:47
    废话不多说,首先打开ueditor.all.js 找到下面的这行代码 function initUploadBtn(){ 在这个方法里面有一个判断文件格式的,在这个后面应该只有三行代码 // 判断文件格式是否错误 var filename = input....
  • 百度编辑器安全漏洞及其防护措施

    千次阅读 2019-08-10 15:10:26
    跟老赵头儿学开发之十四 : 百度编辑器安全漏洞及其防护措施 百度编辑器UEditor 是一套开源的在线html编辑器,它是由百度web前端研发部开发的所见即所得的富文本web编辑器,开发人员可以用 UEditor 把传统的多行文本...
  • 百度有这个配置文件 ueditor.config.js 里面本来是有自动工具栏浮动到顶部,可以一直显示工具栏,但我测试,一直不能正常实现.功能不正常 //是否保持toolbar的位置不动,默认true ,autoFloatEnabled:false 还有一个...
  • 百度编辑器UEditor上传视频的功能Bug

    千次阅读 2019-07-04 17:35:31
    ☁ 背景介绍 今天在网站后台的文章列表进行添加视频的测试操作时,发现上传后页面显示空白 然后通过网上资源查询和测试,在此做...修复百度编辑器插入视频的bug,可实时预览视频,可修改到支持手机查看视频
  • 动易SiteWeaver 6.8 CMS使用众多,但是使用的编辑器老旧,不兼容主流浏览器,替换为兼容更好百度编辑器UEditor [1.4.3.3 Asp 版本],覆盖就行。 好几次叫我弄,一直没帮他们完善。百度了大大们的教程,现测试好用。有...
  • vue中使用百度编辑器Ueditor

    千次阅读 2019-07-25 11:52:50
    //调用组件方法 获取编辑器输入的内容 var UEContent = this.$refs.ue.getUEContent this.types.body = UEContent() //清空编辑器输入的内容 var delUE=this.$refs.ue.delUEContent delUE(this.defaultMsg,...
  • 百度编辑器ueditor自适应手机端

    千次阅读 2020-01-11 15:02:53
    找个几个方法要么没效果,要么不合适。 我的目录:\public\vendor\ueditor\ueditor.all.js function callback(){ try{ var link, json, loader, body = (ifr...
  • 最近做项目遇到了需要把所有图片上传到七牛服务器,其中百度编辑器的图片也不例外。对于百度编辑器怎么使用就不说了,我之前也写过两篇使用遇到问题的文章。 其实之前使用百度编辑器上传的图片都是存到项目目录下的...
  • 百度编辑器上传图片添加水印方法

    千次阅读 2016-11-09 23:24:35
    最近做项目,用的是百度编辑器,客户有个要求,上传图片的时候批量添加水印,基本上说我是菜鸟型的,百度半天找了好些方法,都不对,最后找到一个方法,测试了下,暂时没问题,把它记录下来,供大家参考。...
  • vue2.0-Ueditor 在vue2.0中集成百度编辑器的方法
  • 百度编辑器上传视频配置

    千次阅读 2019-02-17 19:25:47
    3、修改根目录下自动生成的web.config文件,在system.webServer节点下增加: 第二、IIS+asp环境下解决方法 1、修改相对应的ueditor\asp\config.json编辑器文件夹中的配置文件config.json在其中查找"videoMaxSize": ...
  • 百度编辑器文章分页js插件

    千次阅读 2018-07-04 10:15:44
    百度富文本文章分页只提供了一个分页标记,我们要分页只有根据这个分页标记去对文章进行分页
  • asp.net core 添加百度编辑器(ueditor)

    千次阅读 2018-12-15 17:53:09
    百度编辑器:https://ueditor.baidu.com/website/download.html git地址:https://github.com/fex-team/ueditor 有选择困难症的可以直接点这里下载:下载 下载完之后放在项目的wwwroot里面: 引用: 在需要...
  • 设置百度编辑器 ueditor 为只读

    千次阅读 2020-09-10 17:07:10
    var xmnrUE = UM.getEditor("页面id"); xmnrUE.addListener("ready",function () { xmnrUE.setContent('之前写的内容'); }); xmnrUE.ready(function() { xmnrUE.setDisabled(); });

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 91,153
精华内容 36,461
关键字:

百度编辑器