크롬에는 없지만 Firefox에서는 아약스 요청을 할 때마다 브라우저가 정지됩니다.innerHTML 아이디어를 사용하여 많은 양의 html 요소를 추가하는 가장 좋은 방법은 무엇입니까?
여기
아약스 요청
는 길이가 75,000 개 이상의이다 거대한 HTML을받을 ... 거래입니다.var html = data.replace(/\r?\n|\r/g, '').replace(/\s{2,}/g, ' ')
나는 충분하지 않다고 55,000있어보다 :
<div> ... <table> ... etc ... </table> ... </div>
그래서 더 나은 뭔가를 얻기 위해 대체 사용하기 시작.
그래서 지금까지 검색을 해왔지만 지금까지는 도움이 될만한 것이 하나도 없습니다. 여기
내가 시도 내용은 다음과 같습니다1.
asyncInnerHTML(html, function(fragment){
$(tab).get(0).appendChild(fragment); // myTarget should be an element node.
});
2.
var node = document.createTextNode(html);
$(tab).get(0).innerHTML = node;
3.
$(tab).get(0).innerHTML = html;
4.
$(tab).append(html);
5.
$(tab).html(html);
빨리 유일한 것은 무엇 자바 스크립트가 내가 필요하기 때문에 HTML 렌더링이 아니라, 내가 원하는되지 않은 것을 물론, nodeContent를 추가 두 번째, 텍스트/문자열 형식의 HTML.
누군가가 나를 도울 수 있기를 바랍니다.
어쨌든, 감사합니다.
HTML을 추가 할 때 브라우저가 정지하면 논리적 인 질문은 HTML에서 멈추는 원인입니다. 75k의 HTML은 웹 페이지를위한 것이 아닙니다. 모든 브라우저가 그 크기의 HTML을 확실히 처리 할 수 있습니다. 따라서 특정 HTML에 따라 달라질 수 있습니다. Firefox에 문제가 발생했습니다. 또한, 당신이 동결이라고 말할 때, 당신은 무엇을 의미합니까? – jfriend00
@ jfriend00, html http://codepen.io/rochapablo/pen/ogBbom을 참조하십시오. 내가 그 말을 할 때, Windows 위협 브라우저가 응답하지 않는 것을 의미합니다. – Pablo
Firefox 성능 도구를 사용하면 렌더링하려는 HTML에 대해 느린 점을 파악할 수 있습니다. https://developer.mozilla.org/en-US/docs/Tools/Performance –