자바 스크립트 이벤트가 원인이 아닌 것으로 판단되는 경우 웹 페이지 성능 문제를 어떻게 진단합니까?자바 스크립트 느린 외부 이벤트
jqGrid을 사용하는 웹 응용 프로그램이 있습니다. 그리드를 클릭하면 모든 클릭 이벤트가 발생하는 등의 일이 발생하기 전에 2-3 초 동결됩니다. 페이지의 다른 곳을 클릭하면 괜찮습니다 (즉각적인 응답). 행을 제거하면 지연이 줄어 듭니다 (50 행은 매우 느리지 만 5 행은 즉각적인 응답을 생성합니다).
페이지의 모든 이벤트의 바인딩을 해제하면 문제가 해결되지 않으므로 내가 누락 된 이벤트가 있다고 생각하게됩니다.
페이지 소스를 바탕 화면에 저장하고 브라우저에서 해당 HTML 파일을 열면이 느린 동작이 표시되지 않습니다. 이것은 실제로 JavaScript 문제라는 것을 나타냅니다.
Firefox 3.6.8 및 최신 버전의 Firebug로 테스트 중입니다.
이 문제는 다른 브라우저에도 영향을 미치지 만 빠른 브라우저 (Safari 및 Chrome)에서는 그렇지 않습니다.
업데이트 : 놀랍게도 IE7은이 지연으로 고통받지 않는 것 같습니다. 나는 jqGrid 클릭 이벤트의 시작 부분에 경고를 두었고 그리드를 클릭하자마자 이벤트 상자가 나타났다. Firefox에는 여전히 여러 초 지연이 있으며 Chrome과 Safari의 지연은 매우 짧습니다 (IE만큼 짧지는 않지만 여전히 매우 짧습니다).
업데이트 # 2 : 저는 이것이 Firefox의 버그 일 수 있다고 확신합니다. 모든 이벤트를 바인딩 해제/죽이기는하지만 파이어 폭스가 모든 것을 제대로 정리하지 못하고 있다고 생각한다. 다른 모든 이벤트를 제거하고 단일 클릭 이벤트를 그리드 테이블에 추가하고 프로파일 러를 시작했습니다. 그런 다음 테이블을 한 번 클릭하고 프로파일 러를 종료했습니다. 나는 "프로필 활동 없음"을 되찾았다. 메시지.
덕분에, 나는 그것을 확인합니다. 잘만되면 방화범이 끌리는 프로파일 러보다 더 유용 할 것이기 때문에 "프로파일 작업 없음"이라고보고했다. – MikeWyatt