嘿,我想通了!所以我在这里创建了一个帐户,只是为了给大家发布这个。我没有将它用于 Outlook 时事通讯,但它仍然适用,因为它为 img 标签添加了高度和宽度属性。
如果我们碰巧想再次这样做,我就是这样做的。
首先我找到了一些完全格式化和注释的源文件:
http://dev.fckeditor.net/browser/CKEditor/tags/3.2/_source/plugins/image/dialogs/image.js
于是我检索了plugins/image/dialogs/image.js的来源:
svn co http://svn.fckeditor.net/CKEditor/tags/3.2/_source/plugins/image/dialogs
如果您在每行都有行号,因为您没有下载它只是复制了它,您可以通过运行以下命令(从 Linux 终端)删除它们:
cut -c 5- image.js > image2.js
或者只需点击上面第一个链接页面底部附近的原始格式链接。
现在我们有了一个可以编辑的干净源文件。
我的原始包装版本是 19k。解压后的源代码为 45k。但它应该只在有人正在编辑某些东西并且不应该成为问题时才加载。如果是,那么只需重新包装即可。
我拥有的版本可能与您拥有的不同,因此我将向您展示我正在修改哪些行以及我对它们做了什么。
替换第 636-641 行:
if ( value )
element.setStyle( 'width', CKEDITOR.tools.cssLength( value ) );
else if ( !value && this.isChanged( ) )
element.removeStyle( 'width' );
!internalCommit && element.removeAttribute( 'width' );
与:
if ( value ) {
element.setStyle( 'width', CKEDITOR.tools.cssLength( value ) );
element.setAttribute( 'width', value );
} else if ( !value && this.isChanged( ) ) {
element.removeStyle( 'width' );
element.removeAttribute( 'width' );
}
//!internalCommit && element.removeAttribute( 'width' );
替换第 653 行(上述修改后的第 657 行):
element.setStyle( 'width', value + 'px');
与:
element.setStyle( 'width', value + 'px');
element.setAttribute( 'width', value );
替换第 686-692 行(上述编辑后为 691-697):
if ( value )
element.setStyle( 'height', CKEDITOR.tools.cssLength( value ) );
else if ( !value && this.isChanged( ) )
element.removeStyle( 'height' );
if ( !internalCommit && type == IMAGE )
element.removeAttribute( 'height' );
与:
if ( value ) {
element.setStyle( 'height', CKEDITOR.tools.cssLength( value ) );
element.setAttribute( 'height', value );
} else if ( !value && this.isChanged( ) ) {
element.removeStyle( 'height' );
element.removeAttribute( 'height' );
}
//if ( !internalCommit && type == IMAGE )
// element.removeAttribute( 'height' );
替换第 704 行(上述编辑后的第 712 行):
element.setStyle( 'height', value + 'px' );
与:
element.setStyle( 'height', value + 'px' );
element.setAttribute( 'height', value );
唯一的问题是当你拖动控制点来调整它的大小时它不起作用。我无法弄清楚那部分。拖动控制点调整大小后,只需打开图像属性并单击确定,它将再次添加宽度和高度属性。