2012-12-20 2 views
0

페이지로드시 내 애드온 코드 일부를 실행하고 싶습니다. 그래서 브라우저에서 페이지로드 이벤트를 찾고 있어요.ie9에서 자바 스크립트로드 이벤트 감지

if (window.addEventListener) 
    window.addEventListener("load", func, false); 
else if (window.attachEvent) 
    window.attachEvent("onload", func); 

function func() { 
    alert("page loaded"); 
    //my code here 
} 

Firefox에서는로드 이벤트를 잡을 수 있습니다. 그러나 IE9에서는 이것을 얻을 수 없습니다. jquery call을 사용하여

$(document).ready(function(){ 
    //my code here 
}); 

을 얻을 수 있습니다.

하지만 jQuery를 사용하지 않고이 기능이 필요합니다.

감사합니다, 이는 IE9에서 실행됩니다

답변

2

:

window.onload = func; 

이 코드를 수정하려면 :

if (window.addEventListener) { 
    window.addEventListener("load", func, false); 
} else if (window.attachEvent) { 
    window.attachEvent("onload", func); 
} else { 
    window['onload'] = func; 
} 

더 일반적인 이벤트 핸들러 첨부 파일은 다음과 같습니다

function Subscribe(event, element, func) { 
    if (element.addEventListener) { 
     element.addEventListener(event, func, false); 
    } else if (element.attachEvent) { 
     element.attachEvent("on" + event, func); 
    } else { 
     element['on' + event] = func; 
    } 
} 

Subscribe('load', window, func); 
+0

'$ (document) .ready()'이벤트는'load'가 아닌'DOMContentLoaded'입니다. –

+0

@FlorianMargaine 나는 알고있다. 그러나 질문의 ​​예제 코드에는 window.load와 $ (document) .ready가 혼합되어있다. 나는 일반적인 구독 기능뿐만 아니라 window.load에 대해서도 대답했다. –

+0

조건에 문제가 없습니다. 첫 번째 if 조건 자체에 들어 있지만 "window.addEventListener ("load ", func, false);"문에서 실패합니다. 두 번째 및 세 번째 조건과 동일한 문제. 고마워, – Mmh

0

마 당신은 이것을 시도 할 수 있습니다

window.onload = function() { 
    // do something here 
};