JavaScript & IE7- 왜 내 *.onload = function () {} fire가없는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/307364

문제

나는 작은 사이트를 신속하게 코딩 한 갤러리가 있고 Firefox 3과 Safari 3은 잘 작동합니다. 그러나 오래된 가장 친한 친구 IE7을 테스트 할 때 ImageVar.onload = function () {// code}을 발사하지 않는 것 같습니다.

명심하시기 바랍니다...

  • 축소판이 더 큰 이미지의 버전을 축소 한 것을 알고 있습니다. 클라이언트가 이미지를 마무리하면 적절한 축소판을 만들 것입니다.
  • 이것은 대부분의 절차 적 JavaScript에서 벗어나려는 첫 번째 시도입니다. 따라서 쉽게 가서 친절하게 내 코드가 짜증나는 곳을 알려주세요!
도움이 되었습니까?

해결책

이미지를 성공적으로 사용하려면 SRC 속성이 설정되기 전에 이벤트 핸들러 메소드를 등록해야합니다.

이 질문의 관련 정보 :

이미지 로딩을위한 JavaScript 콜백

다른 팁

크로스 브라우저 이벤트 지원은 구현 차이로 인해 간단하지 않습니다. 사이트에서 jQuery를 사용하고 있으므로 이벤트 방법을 사용하여 브라우저 지원을 정상화하는 것이 좋습니다.

대신에:

 window.load = function(){ 
      //actions to be performed on window load
 }

 imageViewer.image.onload = function(){ 
     //actions to be performed on image load
 }

하다:

$(window).load(function(){ 
    //actions to be performed on window load
});

 $(imageViewer.image).load(function(){ 
      //actions to be performed on image load
 });

jQuery의 내장 이벤트 핸들러를 사용하기 위해 Eran의 제안에 추가하기 위해 문서가로드되고 DOM이 만들어지면 이미지가 다운로드되기 전에 코드를 실행할 수 있습니다.

$(document).ready(function(){
   //your code
});
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top