2011-09-04 7 views
1

페이지를로드하여 내용을 가져올 때 실행해야하는 여러 JavaScript 함수가 있습니다. 함수를 호출하기 위해 window.onload를 사용하려고했지만 작동하지 않았습니다.페이지가로드 될 때 javascript 함수를 실행하십시오.

기본적으로 페이지로드가 완료된 후에 여러 기능을 실행해야하지만 한 번만 실행하면됩니다.

window.onload=serverstats #sets window.onload to serverstats 
window.onload=latestnews #sets window.onload to latestnews and removes the reference to serverstats 

당신은 수행하여이 문제를 해결할 수 있습니다 :

oldOnload = window.onload; 
window.onload=function() { 
    oldOnload(); 
    serverstats(); 
    latestnews(); 
}; 

그러나

다음은 주요 문제가 지금까지 이것을 가지고 있지만

<script language="javascript"> 
window.onload=serverstats 
window.onload=latestnews 
</script> 
+0

모델] (http://www.quirksmode.org/js/events_advanced.html). –

답변

4

를 작동하지 않았다 질문에 JQuery 태그가 붙어 있으므로 사용하는 것이 좋습니다.

$(document).ready(function() { 
    serverstats(); 
    latestnews(); 
}); 
+0

'onload'를 직접 사용하는 것은 onload를 먼저 설정하거나 독점적 인 소유자로 가정하는 환경에서 꽤 나쁠 수 있습니다. –

+0

이것을 반영하기 위해 코드를 편집했습니다. 덕분에 – Gazler

+0

. 완벽하게 일했습니다. – Mythrillic

0

onload 값을 덮어 쓰는 중입니다. 그 대신 양쪽을 호출하는 함수를 작성하십시오. 이미 jQuery를 사용하는 경우

window.onload = function() { 
    serverstats(); 
    latestnews(); 
}; 
+0

이것은 다른 많은 라이브러리 (및/또는 SharePoint ...)와의 통합을 중단하는 한 가지 방법입니다. 그러나, -1이 될 자격이 없습니다 .. –

+0

@pst : 예, 다른 해결책이 더 좋습니다. 당신이 upvoting에 대한 분위기가 있다면, 드류에게 보내십시오 : 그는 항상 알고있는 비 jQuery 솔루션을 게시했습니다. –

0

나는 다른 대안을 제공합니다 :

$(function() { 
    serverstats(); 
    latestnews(); 
}); 

이 그냥 간단한 일이 올바른 도구가 될 수있는 방법의 예위한 것입니다. 사용하는, 이전하지만

window.addEventListener("load", serverstats); 
window.addEventListener("load", latestnews); 

이것은 IE8에서 작동하지 않고 :

1

또한 다음 코드를 사용하여 모두를 처리 할 수있는 [고급 이벤트 핸들러가 존재 왜

window.attachEvent("onload", serverstats); 
window.attachEvent("onload", latestnews); 
관련 문제