有時(shí)候在獲取從后臺的圖片時(shí),要對圖片進(jìn)行一系列的處理,才渲染出來
我們要解決的是沒有緩存而又快速的相比onload更快的方式去獲取圖片的寬高,接下來上代碼
通過定時(shí)循環(huán)檢測獲?。?/code>
// 記錄當(dāng)前時(shí)間戳
var start_time = new Date().getTime()
// 圖片地址 后面加時(shí)間戳是為了避免緩存
var cutSrc = window.ctx + '/touchsys/terminal/showCapture?terminalId=' + terminalId + '×trap=' +
Math.random();
// 創(chuàng)建對象
var img = new Image()
// 改變圖片的src
img.src = cutSrc;
// 定時(shí)執(zhí)行獲取寬高
var check = function(){
// 只要任何一方大于0
// 表示已經(jīng)服務(wù)器已經(jīng)返回寬高
if (img.width>0 || img.height>0) {
var diff = new Date().getTime() - start_time;
document.body.innerHTML += '
from:check : width:'+img.width+',height:'+img.height+', time:'+diff+'ms';
clearInterval(set);
}
}
var set = setInterval(check,40)
// 加載完成獲取寬高
img.onload = function(){
var diff = new Date().getTime() - start_time;
document.body.innerHTML += 'from:onload : width:'+img.width+',height:'+img.height+', time:'+diff+'ms';
//在里面在做一些我們想處理的邏輯
};
分享題目:在onload事件前獲取圖片的寬高
當(dāng)前地址:
http://weahome.cn/article/iihosd.html