【发布时间】:2014-11-07 19:09:33
【问题描述】:
我正在从文件系统加载图像,然后我想调整图像大小。它在除 IE (11) 之外的所有浏览器中都能正常工作。问题是图片加载了,但是宽高都是0。
我没有选择,所以我在这里发布这个问题。
这是代码
function getAsImage(readFile, chatboxtitle) {
var reader = new FileReader();
reader.readAsDataURL(readFile);
reader.onload = addImg;
}
function addImg(imgsrc) {
var img = document.createElement('img');
img.setAttribute("src", imgsrc.target.result);
console.log(img);
console.log(img.width + " "+img.height);
... a lot of cool stuff happens here but it doesn't work because width is 0
}
好的,所以控制台打印的图像是这样的
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABAAAAAH0CAYAAAHUIW ... and much more.. >
所以图像就在那里。除 IE 外,所有浏览器都可以正常工作。
我尝试设置一些 IMG 属性,例如样式、宽度,但没有任何效果。
请注意,我不是核心 JavaScript 开发人员。也许我错过了一些东西。没有找到 DOM 元素?
更新
我昨天尝试了下面的答案,它正在工作。但是我今天尝试了该解决方案,但它不再起作用了。试试这个fiddle。 它不适用于 Windows7 上的 IE11,但它适用于 Windows8 上的 IE11。
【问题讨论】:
-
你试过 img.setAttribute("style", "width:100px;height:100px"); 吗?
-
似乎返回
imgwidth和heightjsfiddle.net/guest271314/xt2mk7ct
标签: javascript html