웹 개발이 이미지의 너비와 높이를 얻는 것은 정상입니다. 이미지는로드하기 전에 이미지의 너비와 높이를 얻을 수 없습니다. 로드 후에 만 이미지를 완성 할 수 있습니까? 이미지 자체의 너비와 높이를 얻을 수 있습니다. 예를 들어:
코드 사본은 다음과 같습니다.
var img = new Image ();
img.src = "loading.gif";
img.onload = function () {
경고 (img.width);
};
좋아요? 이 코드는 괜찮은 것 같지만 IE에는 버그가있을 것입니다. 즉, IE가 처음 열릴 때 문제가 없으며이 방법을 두 번째로 사용할 때 비극이 될 것입니다. IE에는 응답이 없으며 페이지가 새로 고침 되더라도 동일합니다. IE는 이미지를 캐시하기 때문에 두 번째로드 된 이미지는 서버에서 업로드되지 않지만 버퍼에서로드됩니다.
먼저 Onload 메소드를 작성한 다음이 이미지의 URL을 지정합니다. 따라서 IE가 Onload 이벤트를 트리거하지는 않았지만 버퍼가 너무 빨리로드되어 IMG.onload가 실행되지 않을 때 Onload 이벤트가 이미 해고 되었기 때문입니다. 괜찮아요.
코드 사본은 다음과 같습니다.
var img = new Image ();
img.onload = function () {
경고 (img.width);
};
img.src = "loading.gif";