我已经在工作了几个小时,但我却没有使它工作:-(
我在JavaScript中有一个base64字符串,并且希望有一个HTML标签,其大小属性如下:
<IMG src="data:image; base64,....." style="height:....">
我需要这样使用:var imageHTML = buildIt(base64code);
最后我知道,我需要一个onload事件来获取图像的大小,并且需要使用JQuery Deferred等待这些步骤,然后才能返回漂亮的HTML字符串...
我的功能如下:
function imagize(base64) {
$.when(imgLoader(base64)).done(function($img){
return $img[0].outerHTML;
})
}
function imgLoader(base64) {
var deferred = $.Deferred();
var i = new Image();
i.onload = function() {
var $img = $("<img>");
$img.attr('src',i.src);
$img.width(i.width);
$img.height(i.height);
defered.resolve($img);
};
i.src = "data:image; base64, "+base64;
return deferred.promise();
}
怎么了?它不会工作...
Thx,迈克
编辑: 这不是如何做的重复! 我已经尝试过使用JQuery Deferred的东西了……我知道我需要使用它。问题不是我如何等待异步的东西,但是为什么我的代码无法工作。