查看: 1628|回复: 0

[DIV/CSS] ueditor样式过滤去除和远程图片上传自定义

发表于 2018-4-6 08:00:00

ueditor自定义编辑的时候,比如需要做延迟加载,这个时候需要自定义图片等,但是,ueditor会去除img上面的属性,比如data-original和把远程图片自动上传。

这个时候,首先,需要给图片自动上传加上属性,不如对于jquery.lazyload延迟加载的图片,必定带有data-original属性,只要检测出此属性,就不远程上传。其它属性自定义提那家,代码如下:

'wordimage':{

  1. execCommand:function () {
  2. var images = domUtils.getElementsByTagName(me.body, "img");
  3. var urlList = [];
  4. for (var i = 0, ci; ci = images[i++];) {
  5. if(ci.getAttribute("data-original")||ci.getAttribute("original")||ci.getAttribute("local")||ci.getAttribute("remote")||ci.getAttribute("qiniu")){
  6. break;
  7. }else {
  8. var url = ci.getAttribute("word_img");
  9. url && urlList.push(url);
  10. }
  11. }
  12. return urlList;
  13. },
复制代码

第二,去除,对于script的过滤,对于script标签,添加特定的id活着class,不让ueditor处理。

  1. case 'style':
  2. case 'script':
  3. if(node.id==='andyZhou'||node.className==="andyZhou"){
  4. break;
  5. }else {
  6. node.setAttr({
  7. cdata_tag: node.tagName,
  8. cdata_data: (node.innerHTML() || ''),
  9. '_ue_custom_node_':'true'
  10. });
  11. node.tagName = 'div';
  12. node.innerHTML('');
  13. break;
  14. }
  15. break;
复制代码

第三,在白名单中添加script和style标签。

  1. script:['src','defer','async','charset'],
  2. source:['src'],
  3. style:[],
复制代码

这个时候,你就可以在html模式下自定义编辑,又享受ueditor的好处。

这个是自己DIY随便琢磨的,如果有更好的模式,请指教,多些。

转载请注明出处:ueditor样式过滤去除和远程图片上传自定义 - phpcms教程 - 周陆军的个人网站请添加链接描述



回复

使用道具 举报