많은 양의 데이터를 DOM에로드하는 데 많은 문제가 있습니다. 사실 IE11만이 거래 차단기입니다. 여기에 몇 가지 예제 코드는 기본적으로 내가이 일을하고, 첫 번째 :IE11에서 큰 그룹의 요소를 매우 느리게 추가합니다.
이제var concat = [];
for (var i = 0; i < 10000; i++) {
concat[i] = "<li value='"+'XYZ' + i+"'>"+'XYZ ' + i+"</li>";
}
var element = conc.join('');
$('ul.mylist').append(element);
, 그것의 아주 기본적인 예제로 나누어, 그 나는 유사한 주제에 여기 발견 jsFiddle에서 영감 :
http://jsfiddle.net/bVAFF/152/
바이올린은 IE에서 잘 작동합니다!
최대 10.000 개의 목록 요소를 큰 덩어리로 삽입합니다. 이것은 하나의 큰 문자열로 하나의 요소를 연결하고 있기 때문에 훌륭합니다. 결국 DOM에 추가됩니다.
적어도 크롬과 파이어 폭스에서 성능이 우수합니다. 데이터를 삽입하는 데 1-2 초가 걸리는 반면, IE11은 주입 발작에서 부활하려면 MINUTES가 필요합니다. 나는 더 큰 데이터 양을 실험하고 있었다 : 최대 9MB/70.000 엘리먼트 (!)를 가진 문자열은 여전히 "meh"를로드했다. (그러나 나는 그 시점에서 IE에서 이것을 테스트하지 않았다.)
필자가 실제 주입하는 문자열이 (매우 간단한) 예제보다 훨씬 크다는 것을 인정해야하지만 여전히 Chrome 및 FF에서 훌륭하게 수행됩니다. IE 만 고정!
누구에게 이것이 사실인지 실마리가 있습니까?
인사말 : 베를린에서! 그들은 매우 도움이를 werent 불구하고
아합
Internet Explorer에 오신 것을 환영합니다. – sWW
IE 성능이 그다지 좋지 않다고 가정하면 ** 많은 요소를 생성해서는 안됩니다. 사용자가 모두 함께 읽을 수 없으므로 단계별로 페이지를 작성할 수 있습니다. 쪽수 매기기? 무한 스크롤? 최대까지 ... –
귀하의 질문에 확실하게 대답 할 수있는 것처럼 보이지 않습니다. 응답자는 최소한 IE의 내부 작업에 대해 잘 알고 있어야합니다. 그러한 회원이 커뮤니티에 존재하는지는 모르지만, 그렇다면 공개적으로 성능 문제를 브라우저에 기록 할 의향이 있는지 확신 할 수 없습니다. –