• 百度编辑器批量上传图片自动排版


    修改编辑器ueditor.all.js文件 插入图片的方法

    /**
     * 插入图片
     * @command insertimage
     * @method execCommand
     * @param { String } cmd 命令字符串
     * @param { Object } opt 属性键值对,这些属性都将被复制到当前插入图片
     * @remind 该命令第二个参数可接受一个图片配置项对象的数组,可以插入多张图片,
     * 此时数组的每一个元素都是一个Object类型的图片属性集合。
     * @example
     * ```javascript
     * editor.execCommand( 'insertimage', {
     *     src:'a/b/c.jpg',
     *     '100',
     *     height:'100'
     * } );
     * ```
     * @example
     * ```javascript
     * editor.execCommand( 'insertimage', [{
     *     src:'a/b/c.jpg',
     *     '100',
     *     height:'100'
     * },{
     *     src:'a/b/d.jpg',
     *     '100',
     *     height:'100'
     * }] );
     * ```
     */
    
    UE.commands['insertimage'] = {
        execCommand:function (cmd, opt) {
            var imgRow,upload;
             
            if (opt.upload) {
               
                imgRow = opt.imgRow;
                upload = opt.upload;
                opt = opt.list;
    
                //alert(imgRow);
            };
    
            opt = utils.isArray(opt) ? opt : [opt];
            if (!opt.length) {
                return;
            }
            var me = this,
                range = me.selection.getRange(),
                img = range.getClosedNode();
    
            if(me.fireEvent('beforeinsertimage', opt) === true){
                return;
            }
    
            function unhtmlData(imgCi) {
    
                utils.each('width,height,border,hspace,vspace'.split(','), function (item) {
    
                    if (imgCi[item]) {
                        imgCi[item] = parseInt(imgCi[item], 10) || 0;
                    }
                });
    
                utils.each('src,_src'.split(','), function (item) {
    
                    if (imgCi[item]) {
                        imgCi[item] = utils.unhtmlForUrl(imgCi[item]);
                    }
                });
                utils.each('title,alt'.split(','), function (item) {
    
                    if (imgCi[item]) {
                        imgCi[item] = utils.unhtml(imgCi[item]);
                    }
                });
            }
    
            if (img && /img/i.test(img.tagName) && (img.className != "edui-faked-video" || img.className.indexOf("edui-upload-video")!=-1) && !img.getAttribute("word_img")) {
                var first = opt.shift();
                var floatStyle = first['floatStyle'];
                delete first['floatStyle'];
    ////                img.style.border = (first.border||0) +"px solid #000";
    ////                img.style.margin = (first.margin||0) +"px";
    //                img.style.cssText += ';margin:' + (first.margin||0) +"px;" + 'border:' + (first.border||0) +"px solid #000";
                domUtils.setAttributes(img, first);
                me.execCommand('imagefloat', floatStyle);
                if (opt.length > 0) {
                    range.setStartAfter(img).setCursor(false, true);
                    me.execCommand('insertimage', opt);
                }
    
            } else {
                var html = [], str = '', ci;
                ci = opt[0];
                if (opt.length == 1) {
                    unhtmlData(ci);
    
                    str = '<img src="' + ci.src + '" ' + (ci._src ? ' _src="' + ci._src + '" ' : '') +
                        (ci.width ? 'width="' + ci.width + '" ' : '') +
                        (ci.height ? ' height="' + ci.height + '" ' : '') +
                        (ci['floatStyle'] == 'left' || ci['floatStyle'] == 'right' ? ' style="float:' + ci['floatStyle'] + ';"' : '') +
                        (ci.title && ci.title != "" ? ' title="' + ci.title + '"' : '') +
                        (ci.border && ci.border != "0" ? ' border="' + ci.border + '"' : '') +
                        (ci.alt && ci.alt != "" ? ' alt="' + ci.alt + '"' : '') +
                        (ci.hspace && ci.hspace != "0" ? ' hspace = "' + ci.hspace + '"' : '') +
                        (ci.vspace && ci.vspace != "0" ? ' vspace = "' + ci.vspace + '"' : '') + '/>';
                    if (ci['floatStyle'] == 'center') {
                        str = '<p style="text-align: center">' + str + '</p>';
                    }
                    html.push(str);
    
                } else {
                    //多图上传控制一行显示几个
                    if(upload){
                        var str = '';
                        if (!imgRow) {
                            imgRow = 1;
                        };
                        var resizer = 90/imgRow;
                        for (var i = 0; ci = opt[i++];) {
                            unhtmlData(ci);
                            if (i==1) {
                                //alert(1)
                                str = '<p ' + (ci['floatStyle'] == 'center' ? 'style="text-align: center" ' : '') + '><img src="' + ci.src + '" ' +
                                'width="' + resizer + '%" '  + (ci._src ? ' _src="' + ci._src + '" ' : '') +
                                ' height="' + resizer + '%" ' +
                                ' style="margin:5px 10px;' + (ci['floatStyle'] && ci['floatStyle'] != 'center' ? 'float:' + ci['floatStyle'] + ';'+resizer+'%' : ''+resizer+'%') +
                                (ci.border || '') + '" ' +
                                (ci.title ? ' title="' + ci.title + '"' : '') + ' />';
                            }else if ((i-1)%imgRow==0&&i!=opt.length) {
                                str += '</p>';
                                html.push(str);
                                str = '<p ' + (ci['floatStyle'] == 'center' ? 'style="text-align: center" ' : '') + '><img src="' + ci.src + '" ' +
                                'width="' + resizer + '%" '  + (ci._src ? ' _src="' + ci._src + '" ' : '') +
                                ' height="' + resizer + '%" ' +
                                ' style="margin:5px 10px; ' + (ci['floatStyle'] && ci['floatStyle'] != 'center' ? 'float:' + ci['floatStyle'] + ';'+resizer+'%' : ''+resizer+'%') +
                                (ci.border || '') + '" ' +
                                (ci.title ? ' title="' + ci.title + '"' : '') + ' />';
                            }else{
                                str += '<img src="' + ci.src + '" ' +
                                'width="' + resizer + '%" ' + (ci._src ? ' _src="' + ci._src + '" ' : '') +
                                ' height="' + resizer + '%" ' +
                                ' style="margin:5px 10px; ' + (ci['floatStyle'] && ci['floatStyle'] != 'center' ? 'float:' + ci['floatStyle'] + ';'+resizer+'%' : ''+resizer+'%') +
                                (ci.border || '') + '" ' +
                                (ci.title ? ' title="' + ci.title + '"' : '') + ' />';
                            }
                            if (i==opt.length) {
                                str += '</p>';
                                html.push(str);
                            };
                        }
                    }else{
                        //alert(2)
                        for (var i = 0; ci = opt[i++];) {
                            unhtmlData(ci);
                            str = '<p ' + (ci['floatStyle'] == 'center' ? 'style="text-align: center" ' : '') + '><img src="' + ci.src + '" ' +
                            (ci.width ? 'width="' + ci.width + '" ' : '') + (ci._src ? ' _src="' + ci._src + '" ' : '') +
                            (ci.height ? ' height="' + ci.height + '" ' : '') +
                            ' style="margin:5px 10px; ' + (ci['floatStyle'] && ci['floatStyle'] != 'center' ? 'float:' + ci['floatStyle'] + ';' : '') +
                            (ci.border || '') + '" ' +
                            (ci.title ? ' title="' + ci.title + '"' : '') + ' /></p>';
                            html.push(str);
                        }
                    }
                    
                }
    
                me.execCommand('insertHtml', html.join(''));
            }
    
            me.fireEvent('afterinsertimage', opt)
        }
    };





    修改好的编辑器 https://files.cnblogs.com/files/wang-yang/ue.zip
  • 相关阅读:
    迎战智能手机时代,芯片厂商谁能笑到最后?
    古老Ubuntu 安装 EDB 的奇葩旅程
    今天做了一个很糟糕的storage and buffer manager
    android 数据库SQL 框架例子
    关于VS2008编译错误"error LNK2005: 已经在 .obj 中定义"
    ListActivity源码分析
    最优非对称加密填充(OAEP)
    EVP_DigestInit(3)源码解析
    Java EE学习笔记(1:Servlet & JSP)
    Servlet
  • 原文地址:https://www.cnblogs.com/wang-yang/p/7693843.html
Copyright © 2020-2023  润新知