给一个图片url获取它的宽高

问题:

已知img的url为 http://ww1.sinaimg.cn/large/006onK1Rgy1g9ksszfv9kj308c08caa5.jpg ,求它的宽高

解决方案

const img = new Image(); // 等价于 document.createElement('img')
img.src = 'http://ww1.sinaimg.cn/large/006onK1Rgy1g9ksszfv9kj308c08caa5.jpg';
console.log(`width: ${img.width}, height: ${img.height}`);

缺陷:图片是异步加载的,如果该图片已经加载过的,就会输出正确的数据;如果第一次加载,用上面的方法第一次输出会输出错误的0(控制台运行一下以上代码试试?)

改善

配合onload等图片资源加载完再获取数据

const img = new Image();
img.src = 'http://ww1.sinaimg.cn/large/006onK1Rgy1g9ksszfv9kj308c08caa5.jpg';
img.onload = function () {
  console.log(`width: ${img.width}, height: ${img.height}`);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。