다음과 같은 상황이 있습니다 : 저는 86 개의 차트 (ChartsJS)를 3 가지 범주로 나누었습니다. JQueryUI 탭을 사용하여 각 탭을 개별 탭에 표시합니다. 문제는 페이지에 삽입 된 자바 스크립트가 많아 페이지로드 시간이 JS 구문 분석 및 실행 시간이 (Google 크롬을 사용하여 측정 된) 5.2 초를 넘는 7 초를 초과한다는 것입니다.게으른 평가 및 자바 스크립트를 실행하는 방법?
아직 사용자에게 표시되지 않은 요소 (현재 열려있는 탭이 아님)를 렌더링하는 자바 스크립트 부분을 게으른 것으로 평가하는 방법이 있는지 궁금합니다. 주의 할 점은, 탭 변경시 주어진 스크립트를 실행하는 것 (명백하고 쉽게 할 수 있음)뿐만 아니라 페이지로드 후 특정 시점에 필요한 스크립트를 평가하는 것입니다.
편집 : 내 JS 이 동적으로 생성되었음을 명확히해야합니다. 파일에서 asyncload가 옵션이 아닙니다. 내 편이 설계상의 결함 일 수 있습니다. 여기
크롬에서 타임 라인이다 함수가 호출 될 때까지 함수 정의
탭 플러그인에는 연결할 수있는 이벤트가 있습니다. 따라서 현재 표시된 차트를 알 수 있고 그 차트 만로드 할 수 있습니다. –
@RoryMcCrossan 이것이 사실이며이 이벤트를 처리하는 것이 문제가되지 않습니다. 문제는 js를 평가 (처음로드)하고 파일로드를 사용하지 않고 즉석에서 실행하는 방법입니다. – Antoniossss
어떻게 문제가 될지 모르겠다. DOM에 추가 된 후에 AJAX 요청의 콜백을 사용하여 차트를 초기화하십시오. –