config.disallowedContent无法正常工作在尝试为响应式CMS配置CKEditor时,

时间:2016-02-20 07:47:55

标签: ckeditor

我开发了一个响应式CMS,其中CKEditor用于内容输入。 (对不起我的英文,这不是我的母语) CMS生成的站点需要透明地调整显示它们的设备。 几乎一切都很好,但我的客户从几个spurces做了很多切割和粘贴。 我添加了"粘贴来自word"插件可以很好地清理臃肿的HTML,但不会覆盖响应式CMS的最后一英里,因为表格和单元格保持其宽度,表示为样式,这会阻止CMS引擎为特定应用程序应用最合适的样式设备。 经过长时间的谷歌搜索和测试,我发现了一个部分解决方案:

answerText.text = (NSLocalizedString("%@",comment: ""), SOMETHINGGOESHERE))

调用我的特定CKEditor实例时。

这会清除原始表格宽度定义,但我还需要清除Th和Td宽度定义,这些定义可能具有或可能设置为响应页面的不合适尺寸,特别是在纵向模式下观看时。

我尝试从以下位置更改插件/ pastefromword / filter / default.js行1050 ... 1053:

disallowedContent : 'table {width*};

要:

[ ( /^width|height$/ ), null, function( value, element ) {
if ( element.name in {  table: 1,  th: 1,  td: 1, mg: 1 } )
return value;, 

或:

[ ( /^width|height$/ ), null, function( value, element ) {
if ( element.name in {  table: 0,  th: 0,  td: 0, img: 1 } )
return value;

无济于事,并且:

我尝试了很多disallowedContent设置的组合,例如:

[ ( /^width|height$/ ), null, function( value, element ) {
if ( element.name in {  img: 1 } )
return value;

或:

disallowedContent : 'table {width*}; td {width*} '   

现在不清除并阻止表格对话框设置表格宽度,既不阻止但允许单元格属性对话框设置单元格。

这是一个错误还是可能我做错了什么。

对此的解决方案将非常感激

1 个答案:

答案 0 :(得分:0)

我试图重新创建你的案子。我使用了两个CKEditor实例,一个是默认配置,另一个是:

disallowedContent : 'table {width*}; tr {width*}; td {width*};'

尝试了一些事情:

  1. 从一个编辑器实例复制到另一个编辑器实例。
  2. 从Word复制到两个实例。
  3. 通过Table插件/对话框插入新表。
  4. 在所有情况下,第一个实例中都存在以下属性(使用默认配置):

    style="width:..px"
    

    在第二个实例中(使用config.disallowedContent),在粘贴/插入时删除了来自widthtable元素的td参数。它似乎工作正常,您的情况可能更具体,或者您的配置中存在一些错误。

    我使用Chrome和MS Word 2013在Windows 7上进行了所有测试.CKEditor 4.5.7版。

    您能否提供有关用例的更多详细信息或步骤如何重新创建?