Web開発が画像の幅と高さを取得するのは正常です。画像は、ロードする前に画像の幅と高さを取得できません。ロードが完了した後にのみ、画像自体の幅と高さを取得できます。例えば:
コードコピーは次のとおりです。
var img = new Image();
img.src = "loading.gif";
img.onload = function(){
アラート(img.width);
};
わかりました?このコードは問題ないようですが、IEにはバグがあります。つまり、IEが初めて開かれたときに問題はありません。また、この方法を2回目に使用すると悲劇があります。 IEには応答がなく、ページが更新されていても同じになります。 IEは画像をキャッシュするため、2番目のロードされた画像はサーバーからアップロードされず、バッファからロードされます。
最初にオンロードメソッドを書き、次にこの画像のURLを指定します。これは正常です。したがって、IEがオンロードイベントをトリガーしなかったということではなく、バッファーが非常に速くロードされているため、IMG.onloadが実行されていないときにオンロードイベントが既に起動されているためです。それで大丈夫です。
コードコピーは次のとおりです。
var img = new Image();
img.onload = function(){
アラート(img.width);
};
img.src = "loading.gif";