2010-04-21 8 views
1

나는 수퍼에 기반한 최상위 메뉴를 만들었지 만 메뉴에 표시된 항목의 양은 엄청납니다. 그리고 톱 메뉴에는 jquery도 많이 있습니다. 이제 문제는 메뉴가있는 페이지를로드 할 때마다 페이지가로드되는 동안 약 1-2 초 동안 브라우저 자체가 잠겨있는 것처럼 느껴집니다 (ie7). 최상위 메뉴가 문제이며, 페이지의 성능을 향상시키고 싶습니다. (메뉴 제거 및 메뉴 항목 제거 이외) 파이어 버그를 사용하여 대부분의 호출에 걸리는 호출을 확인했습니다 , 나는 표준 jquery 또는 superfish입니다. 상단 메뉴는 ascx 컨트롤입니다. 페이지를 먼저로드하고 나중에 메뉴 또는 다른 상품 아이디어로 실적을 향상시킬 수있는 좋은 방법이 있습니까?자바 스크립트 성능 문제

+0

페이지 초기화가 1-2 초가 걸릴 이유가 없어야합니다. 코드 전체에서 비효율적이어야합니다. @Robert Harvey의 아이디어는 좋은 것입니다. –

+0

아마도 많은 요소와 많은 DOM 요소에서 너무 많은 js 코드가 실행되고있을 것입니다. 특정 jquery를 수행하는 동안 dom 요소를 "캐시"하려고했습니다. 하지만 지금은 성능을 향상시키는 데 충분하지 않았습니다. – Daniel

답변

1

</html> 태그 바로 앞에있는 스크립트 코드 (Javascript, jQuery)를 페이지 하단으로 옮겨 보았습니까?

+0

전에 상위 메뉴와 관련된 모든 js를 이동했는데 전혀 도움이되지 않는 것 같습니다. 끝 바디와 끝 사이에 있어야합니다. HTML 태그? – Daniel

+0

'' 태그가 정상이 아니기 전에 메뉴와 관련된 내용 만이 아니라 모든 * 항목을 이동해야합니다. Javascript/jQuery가 실행되기 전에 웹 페이지를 (최소한 부분적으로) 렌더링하는 것이 아이디어입니다. –

0

메뉴를 한 번만로드하는 것을 고려한 적이 있습니까? 오래 전에 메뉴가 새로 고침 될 때마다 동일한 종류의 문제가있었습니다.

우리가 한 것은 페이지 새로 고침을 최소화하고 대부분의 페이지가 $.ajax을 통해 데이터를 제출/검색하도록했습니다.

페이지가 인 경우에만 새로 고침합니다.이 필요합니다.

+0

이제는 한 번만로드 할 수있는 톱 메뉴를 개발하는 데 많은 시간이 걸릴 것입니다. /하지만 다음 번에는 좋은 생각이지만 – Daniel