图像src(通过javascript)chrome / firefox之间的不一致

时间:2010-12-12 22:14:17

标签: javascript image request frontend client-side

Heya,所以我遇到了一个怪异的bug / edgecase。请查看以下代码:

var i = new Image();
i.src = 'http://ia.media-imdb.com/images/M/MV5BMTIxOTAxNTc4NF5BMl5BanBnXkFtZTcwOTg1NzQyMQ@@._V1._SX97_SY140_.jpg';
console.log(i.width);

这在chrome中效果很好(因为它指的是真实图像),但在FF中失败。认为它可能与'at'符号或双扩展名(例如'._V1._SX97_SY140_.jpg')有关,但实际上并不知道。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

请记住,图像是异步加载的。您需要为图像的load事件分配一个事件处理程序并获取其宽度:

var i = new Image();
i.onload = function() {
  console.log(this.width);
}
i.src = 'http://ia.media-imdb.com/images/M/MV5BMTIxOTAxNTc4NF5BMl5BanBnXkFtZTcwOTg1NzQyMQ@@._V1._SX97_SY140_.jpg';

答案 1 :(得分:0)

403响应标头表示禁止wiki),您无权访问该资源。

imdb.com可能会这样做,以防止其他网站中的图像热链接。