2017-11-22 3 views
0

자바 스크립트 및 jquery를 사용하는 PHP 웹 응용 프로그램이 있습니다. 우리는 사용자가 내용을 편집 할 수있는 작성/읽기/업데이트/삭제 페이지를 가지고 있습니다. AJAX를 사용하여 컨텐츠를 추가/편집/삭제하므로 전체 페이지를 새로 고침 할 필요가 없습니다.같은 페이지에서 몇 시간 만 지나면 웹 사이트가 정지합니다.

동일한 페이지에서 작업 한 지 1-2 시간이 지나면 페이지가 매우 느리게로드되고 브라우저가 정지합니다.

이 문제를 어떻게 디버그하고 해결할 수 있습니까? 실행중인 javascript 함수가 있다고 생각합니다. 이런 종류의 버그를 찾는 방법이 있습니까? 이 경우 저를 도울 수있는 js 디버그 도구가 있습니까?

UPDATE 각

추가, 44 비어있는 div의 몸에 추가됩니다. 이로 인해 심각한 성능 저하가 초래 될 수 있습니까? 나는 로컬에서 테스트했고 10 000 개의 빈 div로 웹 사이트가 정상적으로 작동하지만 100 000으로 매우 느립니다.

+0

현재 대부분의 브라우저에서 제공되는 매우 포괄적 인 도구 (예 : Chrome은 매우 유용함)를 사용하여 애플리케이션을 프로파일 링합니다. 콘솔 로깅을 추가하고, ajax 쿼리의 성능에 대한 네트워크 탭을 살펴보고, 쿼리가 끝나고 너무 많이 실행되지 않으면 요소가 올바르게 추가/제거되었는지 확인하고 JS, 메모리 및 CPU 프로파일 러를 사용하여 성능을 확인하십시오. 어떤 코드도 보지 않고는 아무도 직접 도움을 줄 수 없습니다. 귀하의 처분에 따라 도구를 사용하여 자세한 디버깅을하십시오. – ADyson

답변

0

Chrome과 같은 최신 브라우저를 사용하는 경우 Javascript 디버깅은 매우 간단합니다.

Chrome에서 F12을 누르면 관리자가 나타나서 모든 자바 스크립트 로그를 제공하는 콘솔로 이동할 수 있습니다. 특정 프로그램을 디버깅하려면 코드에 console.log()을 추가하고 그런 식으로 디버깅 할 수 있습니다.

일반적으로이 문제는 이전 웹 페이지 중 일부를 지우지 않고 DOM 요소로 웹 페이지를 채우고있는 것일 수 있습니다. 수천 개의 DOM 요소 목록이있는 경우 브라우저는 느리게 작업 할 수 있습니다.

그러나 코드가 없으면 더 나은 답변을 제공 할 수 없습니다.

+0

많은 js 파일이 있기 때문에 코드를 제공 할 수 없습니다. 그래서 나는 어디에 문제가 있는지 전혀 모른다. 하지만 귀하의 제안에서 나는 때때로 브라우저 캐시/세션을 지우는 것에 대해 생각하고 있습니다. 너무 많은 DOM 요소가 심각한 문제처럼 들립니다. 조언 해 주셔서 감사합니다. – Pascut

+0

문제는 없으며 문제를 해결하기 위해 노력하고 있습니다. – Classified

+0

네트워크 호출이 발생하면 네트워크 탭에서보십시오. – user7325973

관련 문제