問題:
已知img的url為 http://ww1.sinaimg.cn/large/006onK1Rgy1g9ksszfv9kj308c08caa5.jpg ,求它的寬高
解決方案
const img = new Image(); // 等價(jià)于 document.createElement('img')
img.src = 'http://ww1.sinaimg.cn/large/006onK1Rgy1g9ksszfv9kj308c08caa5.jpg';
console.log(`width: ${img.width}, height: ${img.height}`);
缺陷:圖片是異步加載的,如果該圖片已經(jīng)加載過的,就會(huì)輸出正確的數(shù)據(jù);如果第一次加載,用上面的方法第一次輸出會(huì)輸出錯(cuò)誤的0(控制臺(tái)運(yùn)行一下以上代碼試試?)
改善
配合onload等圖片資源加載完再獲取數(shù)據(jù)
const img = new Image();
img.src = 'http://ww1.sinaimg.cn/large/006onK1Rgy1g9ksszfv9kj308c08caa5.jpg';
img.onload = function () {
console.log(`width: ${img.width}, height: ${img.height}`);
}