2009-10-04 5 views
0

여기 이상한 상황의 연결 속도가 느린에 초기화되지 않았습니다.자바 스크립트 객체는

매번 작동하지만 저속 모뎀이있는 클라이언트는 개체가 초기화되지 않고 aspx 페이지가 이미로드되어 있기 때문에 오류가 발생합니다. !!

이 js 코드를 호출하는 방법에 대한 제안 사항이 있습니까?

감사합니다,

+1

onload 대신 body end 태그 바로 앞쪽으로 코드를 옮겨 볼 수는 있지만 전체 소스 코드를 보는 데 도움이되며 해당 코드로 달성하려는 내용을 정확하게 지정하는 데 도움이됩니다. –

답변

1

당신이 당신의 핵심 태그가 불완전하거나 제대로 당신이 당신의 함수를 호출 할 수 있습니다 jQuery로

0

포맷되지 때 잘 작동하지 않는에서 onLoads을 보았다 .. 최종 태그가 있는지 확인 ready event :

$(document).ready(function() { 
     // call your functions here 
    }); 

DOM을로드 할 때 이벤트가 호출됩니다.

+0

사실일지도 모르지만 OP는 그가 사용하고있는 라이브러리에 대해 아무런 표시도하지 않습니다 ... 코드를 던지는 것은 거의 의미가 없습니다. – James

+0

코드를 문서 끝으로 이동하는 것이 좋습니다. 그는 자신의 기능을 어디서 '부름'이라고 부르는 지 언급하지 않습니다. – Canavar

1

페이지의 모든 항목이로드 될 때도 onload가 발생합니다. 다른 서버 (광고, 통계)에서로드하는 일부 스크립트가있는 경우에도로드 될 때까지 onload 이벤트가 실행되지 않습니다. 서버에 문제가있는 경우 온로드가 전혀 실행되지 않거나 브라우저가 대기 상태가 될 때 몇 분이 지나면 실행되지 않을 수 있습니다.

onload를 사용하는 대신 스크립트 태그에 가능한 한 빨리 코드를 삽입 할 수 있습니다. 즉, 스크립트에 필요한 마지막 요소 다음에 코드를 삽입 할 수 있습니다.

페이지의 특정 위치 (예 : 통계)가 필요없는 외부 스크립트가있는 경우 페이지의 나머지 부분으로 간섭하지 않도록 페이지 하단으로 이동할 수 있습니다.

+0

Gecko'DOMContentLoaded' 이벤트와 그 주위에 형성된 여러 추상화를 언급하면 ​​Gecko가 아닌 브라우저에서도 사용할 수 있습니다. 이는 일반적으로 "onload"기술과 제안한 기술 사이의 좋은 절충안입니다 (각각의 목적에 따라 개별적으로 스크립트 태그를 배치 함) – James