base64图像解码间歇性地报告1x1维度

时间:2013-05-10 18:02:09

标签: javascript jquery internet-explorer base64

使用ie9 / ie10,我试图检测base64图像的尺寸。我的代码适用于其他当前浏览器。这些是我遵循的步骤:

  1. ajax down base64 string,
  2. 创建一个新的Image()对象,
  3. 将base64字符串设置为src,
  4. 使用imagesloaded或等待onload事件
  5. 片刻之后到达成功加载的回调,但是...图像尺寸报告为1x1。有时。其他时候它工作正常。

    那么......我如何检测图像被解码的时间?不确定这里发生了什么。

2 个答案:

答案 0 :(得分:0)

使用onload回调。当您第一次尝试获取其大小时,您的图像尚未下载。 这就是为什么你的尺寸错误。

image.onload = function () {
  console.log(this.width);
}

答案 1 :(得分:0)

尝试使用 naturalWidth 而不是宽度。 它适用于Internet Explorer 10。