我想用 javascript 获取外部图像的宽度。
我试试这段代码:
var image = new Image();
image.src = "1.jpg";
alert(image.width);
但它在 Firefox 中获得图像宽度并在 chrome 中获得 0。
为什么它在 chromica 中不起作用?
我想用 javascript 获取外部图像的宽度。
我试试这段代码:
var image = new Image();
image.src = "1.jpg";
alert(image.width);
但它在 Firefox 中获得图像宽度并在 chrome 中获得 0。
为什么它在 chromica 中不起作用?
尝试
image.onload = function() {alert(this.width);}
您正在尝试在下载图像之前获取宽度。您必须等待,例如:
var image = new Image();
image.onload = function() {
alert(image.width);
};
image.src = "1.jpg";
请注意,在设置之前挂钩很重要,onload
否则src
您将遇到竞争条件。尽管 JavaScript 在浏览器上是单线程的(除非你使用 web worker),但浏览器不是。它可以在load
您设置后立即触发事件,src
并且看不到处理程序,不会将它们排队等待回调。