1

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

  1. ajax 下一个 base64 字符串,
  2. 创建一个新的 Image() 对象,
  3. 将base64字符串设置为src,
  4. 使用 imagesloaded 或等待 onload 事件

片刻之后到达一个成功加载的回调,但是......图像尺寸报告为 1x1。有时。其他时候它工作得很好。

那么......我如何检测图像何时......解码?不知道这里发生了什么。

4

2 回答 2

0

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

于 2013-07-04T13:18:38.770 回答
0

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

image.onload = function () {
  console.log(this.width);
}
于 2013-05-10T18:16:18.457 回答