Ckeditor无法使用百分比的图像宽度和高度
问题描述:
我试图在使用CKEditor时使用百分比代替图像像素。我收到错误“宽度必须是数字”。当我尝试在宽度或高度中添加%时。Ckeditor无法使用百分比的图像宽度和高度
有没有简单的方法来禁用验证检查,或者我需要手动重写验证代码?
答
没有修改插件代码,这是行不通的。
的图像2插件则是问有关仅使用像素:
- https://github.com/ckeditor/ckeditor-dev/blob/master/plugins/image2/dialogs/image2.js#L448
- https://github.com/ckeditor/ckeditor-dev/blob/master/plugins/image2/dialogs/image2.js#L75-L83
当然你可以使用下面的代码的HTML网页上禁用验证:
var editor = CKEDITOR.replace('editor1', {
extraPlugins : 'image2'
image2_disableResizer : true
});
CKEDITOR.on('dialogDefinition', function(ev) {
var dialogName = ev.data.name;
var dialogDefinition = ev.data.definition;
if (dialogName == 'image2') {
var infoTab = dialogDefinition.getContents('info');
infoTab.get('width').validate = function() {
return true; //more advanced validation rule should be used here
}
infoTab.get('height').validate = function() {
return true; //more advanced validation rule should be used here
}
}
});
请注意,image2也使用以像素为单位的大小调整器,它可能会以%为单位混乱大小。即使禁用就像在上面的代码片断大小调整,仍然有插件代码的规则从而消除%
:
- https://github.com/ckeditor/ckeditor-dev/blob/master/plugins/image2/plugin.js#L952-L953
- https://github.com/ckeditor/ckeditor-dev/blob/master/plugins/image2/plugin.js#L17 即使你做的一切,你可能会陷入几其他障碍。
总结:在不改变插件代码,你将无法使用%
好吧,那是什么样的我想通。你知道使用CKeditor显示响应式图像的另一种选择吗? – JoelB
那么,你有三个选择,都需要工作。你可以尝试重写image2插件,寻找一些你想要的第三方插件,或者你可以尝试改变编辑器的行为,例如:https://gist.github.com/fabiomaggio/c2f4b84756cb4d82c0ae 。 –