CKEditor在插入元素之前获取图像宽度和高度(预加载)

时间:2011-09-15 07:45:27

标签: javascript image plugins ckeditor preload

有没有办法在将图像实际插入编辑器之前获取图像的宽度和高度?

我有以下代码,但宽度和高度始终返回0

var imageElement = editor.document.createElement('img');
imageElement.setAttribute('src', imageSource);

var width = imageElement.$.width;
var height = imageElement.$.height;

if (width > 0) {
    this.imageElement.setAttribute('width', width);
}
if (height > 0) {
    this.imageElement.setAttribute('height', height);
}

editor.insertElement(imageElement);

非常感谢帮助

1 个答案:

答案 0 :(得分:1)

我通过手动预加载图像来解决这个问题,但我不知道这是否是实现此目的的CKEditor方式

代码:

var imageElement = editor.document.createElement('img');
imageElement.setAttribute('src', imageSource);

function setWidthAndHeight() {
    if (this.width > 0) {
        imageElement.setAttribute('width', this.width);
    }
    if (this.height > 0) {
        imageElement.setAttribute('height', this.height);
    }
    return true;
}

var tempImage = new Image();
tempImage.src = imageSource;
tempImage.onload = setWidthAndHeight;

editor.insertElement(imageElement);