zoukankan      html  css  js  c++  java
  • 帝国CMS 7.5编辑器从WORD中粘贴过来无法保留格式和图片的解决办法

     

    配置过滤js文件

    首先打开  editorpluginspastefromwordfilterdefault.js  在文件的最后部分又如下代码(修改前的代码),也可以搜索CKEDITOR.cleanWord进行定位。
    /e/data/ecmseditor/infoeditor/plugins/pastefromword/filter

    /e/admin/ecmseditor/infoeditor/plugins/pastefromword/filter
     

    修改前

    CKEDITOR.cleanWord = function (a, c) {
    &#160;&#160;&#160;&#160;&#160;&#160;&#160; CKEDITOR.env.gecko && (a = a.replace(/(<!--[if[^<]*?])-->([Ss]*?)<!--([endif]-->)/gi, "$1$2$3")); CKEDITOR.env.webkit &&
    &#160;&#160;&#160; (a = a.replace(/(class="MsoListParagraph[^>]+><!--[if !supportLists]-->)([^<]+<span[^<]+</span>)(<!--[endif]-->)/gi, "$1<span>$2</span>$3")); var b = new G, f = b.dataFilter; f.addRules(CKEDITOR.plugins.pastefromword.getRules(c, f)); c.fire("beforeCleanWord", { filter: f }); try { a = b.toHtml(a) } catch (d) { alert(c.lang.pastefromword.error) } a = a.replace(/cke:.*?".*?"/g, ""); a = a.replace(/style=""/g, ""); return a = a.replace(/<span>/g, "")
    &#160;&#160;&#160; }
    })();
    &#160;

    修改后的

    CKEDITOR.cleanWord = function (a, c) {
    &#160;&#160;&#160;&#160;&#160;&#160;&#160; return a; CKEDITOR.env.gecko && (a = a.replace(/(<!--[if[^<]*?])-->([Ss]*?)<!--([endif]-->)/gi, "$1$2$3")); CKEDITOR.env.webkit &&
    &#160;&#160;&#160; (a = a.replace(/(class="MsoListParagraph[^>]+><!--[if !supportLists]-->)([^<]+<span[^<]+</span>)(<!--[endif]-->)/gi, "$1<span>$2</span>$3")); 
    var b = new G, f = b.dataFilter; f.addRules(CKEDITOR.plugins.pastefromword.getRules(c, f)); c.fire("beforeCleanWord", { filter: f }); 
    try { a = b.toHtml(a) } catch (d) { alert(c.lang.pastefromword.error) } 
    a = a.replace(/cke:.*?".*?"/g, ""); a = a.replace(/style=""/g, ""); 
    a = a.replace(/<span>/g, ""); return a;&#160;&#160;&#160; }
    })();
    即在开始加上return a;另网上有讲解3.X版本的word样式保留解答,那个版本的参数是h,所以是return h;(有兴趣的百度吧,很好找)

    &#160;

    配置config文件

    其次在Config.js(和ckeditor.js在一个文件夹下)中添加

    config.allowedContent = true;
    如果没有配置上面的属性,复制word内容后,格式是保留的,但是样式没有保留,只有加了后才会保留!!!

    而如下配置

    //保证word导入格式
    config.pasteFromWordRemoveFontStyles = false;
    config.pasteFromWordRemoveStyles = false;
    //是否强制复制来的内容去除格式
    config.forcePasteAsPlainText =false; //不去除
    通过验证,无需明确的设置,保持默认或者不设置即可。

  • 相关阅读:
    解决ASP.NET MVC AllowAnonymous属性无效导致无法匿名访问控制器的问题
    ASP.NET MVC 4 RC的JS/CSS打包压缩功能 (转载)
    oracle报错ORA-01507
    oracle 大表删除数据后,回收空间的问题。
    解决MySQL服务启动时报1067错误
    尚未在 Web 服务器上注册 ASP.NET 4.0” 的解决办法
    thymeleaf中相对路径的两种方式
    史上最详 Thymeleaf 使用教程
    isNotBlank()和isNotEmpty()总结
    IDEA去除掉虚线,波浪线,和下划线实线的方法
  • 原文地址:https://www.cnblogs.com/surplus/p/11307091.html
Copyright © 2011-2022 走看看