我开发了一个响应式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*} '
现在不清除并阻止表格对话框设置表格宽度,既不阻止但允许单元格属性对话框设置单元格。
这是一个错误还是可能我做错了什么。
对此的解决方案将非常感激
答案 0 :(得分:0)
我试图重新创建你的案子。我使用了两个CKEditor实例,一个是默认配置,另一个是:
disallowedContent : 'table {width*}; tr {width*}; td {width*};'
尝试了一些事情:
在所有情况下,第一个实例中都存在以下属性(使用默认配置):
style="width:..px"
在第二个实例中(使用config.disallowedContent
),在粘贴/插入时删除了来自width
和table
元素的td
参数。它似乎工作正常,您的情况可能更具体,或者您的配置中存在一些错误。
我使用Chrome和MS Word 2013在Windows 7上进行了所有测试.CKEditor 4.5.7版。
您能否提供有关用例的更多详细信息或步骤如何重新创建?