2014-09-05 6 views
-1

나는 드롭 다운 변경 이벤트에서 서버의 많은 양의 데이터를 HTML 페이지의 일부에 바인드해야하는 프로젝트에서 작업하고 있습니다. HTML이 끝날 때까지 회 전자를 보여주고 싶습니다. HTML 렌더링이 완료되면 어떻게 알 수 있습니까? 사용할 수있는 이벤트가 있습니까? 나는 전체 HTML 페이지에 대해 $ (document) .ready 작업을 알고있다.HTML 데이터 바인드 완료

+0

이 데이터를 AJAX로로드 하시겠습니까? 그렇다면 콜백을 사용하십시오. – BernardoLima

+0

ajax를 통해로드하는 경우 $ .ajaxStart, $ .ajaxComplete가 도움이 될 수 있습니다. – Sunand

+0

데이터가 서버에서 빠르지 만 HTML 바인딩에는 행이 40 개이고 행이 2,000 개 가까이 있으므로 많은 시간이 소요됩니다. IE의 성능이 매우 나쁩니다. 전체 페이지가 아닌 부분 페이지 업데이트 – SRK

답변

0

브라우저의 Painting and Rendering 인스턴스를 여러 번 테스트하고 어떤 방식으로 CSS 조작을해야하는지 확인해야합니다. 가장 빠르게 작동하는 것은 숨겨진 또는 숨겨진 (숨김 또는 불투명) 애니메이션 GIF 또는 SVG가있는 고정 된 자리 표시 자와 같은 것입니다. 가장 최선의 방법은 HTML 붕괴와 그 로더 섹션에서 항상 성장하는 것입니다. 이렇게하면 HTML 엔진의 화가가 항상 플러시되고 다시 그려집니다.

마지막으로 jQuery 및 원시 JavaScript가 호출을 처리하는 방식에 대한 연구를 수행하여 AJAX 요청의 일부 바이트를 피할 수 있습니다. jQuery 변형은 매우 사용하기 쉽지만 분명히 약간의 오버 헤드가 추가됩니다. 귀하의 상황에서 (수천 건의 통화로) 오버 헤드는 큰 의미를 가질 수 있습니다.

주로 사용하는 기능 및 도구에 대한 연구를 수행하고 실적에서 가장 큰 이득을 얻을 수있는 곳을 찾아내는 경우입니다.

+0

렌더링을 시작하기 전에 10ms로 setTimeout 이벤트를 사용하면 작동합니까? – SRK

+0

아마도'setTimeout'이나'setInterval'을 사용하지 않는 것이 가장 좋습니다. 악의적 인'eval' 기능을 사용하여 실행중인 JavaScript 코드의 전체 범위가 다시 분석되도록합니다. 당신은 그것에 대해서도 연구하고 싶을지도 모릅니다. 이 문제는 완전히 다른 것처럼 보일 수 있습니다. 백엔드 스크립트가 모든 데이터를 주기적으로 수집하고 각각의 'X'밀리 초 단위의 큰 JSON 청크로 제공합니다. 이 방법을 사용하면 HTML/JS 쪽을 더 세분화 할 수 있으며 유입되는 데이터를보다 잘 제어 할 수 있습니다. –

+0

점진적인 데이터로드 및 HTML 바인딩 .Thanks – SRK

관련 문제