python django ueditor设置img标签添加图片自动添加自定义属性


在ueditor.all.js文件的8706行,或者搜索var attrs = node.attrs;,在下面加上一段代码;

这是设置宽度样式判 max-width:100% 如果存在不再重复设置;

if(node.tagName==='img'){
   attrs.style?attrs.style.includes('max-width:100%;')?'':attrs.style+='max-width:100%;':attrs.style='max-width:100%;'
}

设置自定义属性:

如:data-preview-src="" data-preview-group="1"

只要替换上面的设置样式属性的代码即可:

if(node.tagName==='img'){
    attrs['data-preview-src'] = ""
    attrs['data-preview-group'] = "1"
}


总体显示部分代码:

function isElement(node, arr, formatter, current) {
    var attrhtml = '';
        if (node.attrs) {
            attrhtml = [];
      var attrs = node.attrs;
      if(node.tagName==='img'){
          attrs['data-preview-src'] = ""
        attrs['data-preview-group'] = "1"
      }
      for (var a in attrs) {
          //这里就针对
        //<p>'<img src='http://nsclick.baidu.com/u.gif?&asdf=\"sdf&asdfasdfs;asdf'></p>
        //这里边的\"做转换,要不用innerHTML直接被截断了,属性src
        //有可能做的不够
        attrhtml.push(a + (attrs[a] !== undefined ? '="' + (notTransAttrs[a] ? utils.html(attrs[a]).replace(/["]/g, function (a) {
            return '&quot;'
        }) : utils.unhtml(attrs[a])) + '"' : ''))
          }
          attrhtml = attrhtml.join(' ');
        }
        arr.push('<' + node.tagName +
            (attrhtml ? ' ' + attrhtml  : '') +
            (dtd.$empty[node.tagName] ? '\/' : '' ) + '>'
        );


修改视频默认宽度420x280

如果想定义上传视频后,width=100% 

搜索case 'video' 约在17613行左右

case 'video':
    var ext = url.substr(url.lastIndexOf('.') + 1);
    if(ext == 'ogv') ext = 'ogg';
    str = '<video' + (id ? ' id="' + id + '"' : '') + ' class="' + classname + ' video-js" ' + (align ? ' style="float:' + align + '"': '') +
        ' controls preload="none" width="100%" height="auto" src="' + url + '" data-setup="{}">' +
        '<source src="' + url + '" type="video/' + ext + '" /></video>';
    break;

把里面的变量值改为固定值即可,

如:width="100%"      height="auto"     # 改成自己的需求即可