2010-01-29 4 views
2

1.4.1 jQuery를 사용하여 div 목록에 정렬 ​​가능한 jQuery 플러그인을 추가했습니다. 페이지로드시 호출되는 함수는 매우 간단합니다.jQuery는 IE8에서 매우 느립니다.

$(function() 
{ 
$('#divEditFieldOrderModal_FieldList').sortable(
{ 
    axis: 'y', 
    cursor: 'pointer', 
    placeholder: 'sortOrderPlaceholder' 
}); 
}); 

divEditFieldOrderModal_FieldList 각 사업부는 내부의 작은 텍스트 문자열, 특별한 아무것도를 가지고, 20 개 항목과 같이 포함되어 있습니다. FF 또는 Chrome에서이 페이지를 실행하면 모든 것이 원활하게 실행되고 문제가 없음을 알 수 있습니다. 그러나 IE8에서 (호환성 모드없이) 똑같은 것을 시도하면 모든 것이 너무 느려지므로 마우스가 거의 움직이지 않습니다.

프로파일이 포함 된 JS를 프로파일 링하려고 할 때 '데이터'라는 함수에 '독점 시간'열의 가장 큰 값이 포함되어 있음을 알 수 있습니다. 목록의 맨 아래에서 한 항목을 움직여 대략 2 초간 프로파일 링했습니다.

data Count:5 399  Exclusive time:124,00 

BTW, 나는 IE8에서 정렬 플러그인 공식 예, 모든 것이 빠르고 완벽하게 실행되는 테스트. 분명히 내 페이지가 더 많은 컨트롤과 테이블을 누른 다음로드 예제입니다 ...

어쩌면 누군가가 IE8 에서이 문제를 일으킬 수 있고 어떻게해야합니까?

추신 : IE7 호환 모드에서 부드럽게 실행됩니다.

+0

jquery UI의 최신 버전을 사용하고 있습니까? 나는 그것이 1.8에 있다고 믿는다. – ScottE

+0

네, 1.4.1 메인 빌드와 1.8rc1 UI 빌드를 사용하고 있습니다. 그냥 언급 잊어 버렸습니다. – GregoryM

답변

3

IE7에서 잘 작동한다면 IE7을 지원하기 위해 개발 중입니다. 이유는 무엇이든지 jsut이 HTTP header or Meta Tag과 IE7 호환 모드를 사용하도록 설정해야합니까? 일종의 "회피"전략을 부여하지만 개인적으로 왜 시간을 낭비하지 않아도됩니까?

그것은 진단을 얻는 것이 재미있을 것이라고 말했습니다. 코드를 게시 할 수 있습니까?

+0

id (어떤 jQuery 사용자가 꽤 자주)에 의해 IE8 내부 검색 메커니즘이 전혀 최적화되지 않은 것처럼 보입니다. 내 페이지가 커지면 더 많은 1k div와 큰 테이블을 포함하기 시작하면서 '정렬 가능'작업이 미친 속도로 느려지고 있습니다. 나는 메타 태그를 추가하기로했다. 감사. – GregoryM

+0

@ 그레고리 : 문제 없습니다. 나 자신과 다른 사람들을 위해이 정보에 대한 링크를 게시 할 수 있습니까? 나는 이것에 대해 전혀 몰랐으며 계속 염두에 두는 것이 좋습니다. – prodigitalson

+0

jQuery가 요소를 반복하는 데 사용하는 메커니즘이 100 % 확실하지는 않지만이 문제를 jQuery 소스 코드로 파고들 수 있습니다. 하지만 IE8과 다른 브라우저 getElementById 검색 속도를 http://www.coolphptools.com/tests/get-id-v-dot.html과 비교할 수 있습니다. IE8보다 더 강력하지는 않지만 IE7에서이 모든 것이 정상적으로 작동하는 이유는 궁금합니다. – GregoryM