2015-01-06 10 views
0

Chrome 및 SpiderMonkey Firefox의 JS Dom 트래버스가 상대적으로 빠르기 때문에 javascript를 통해 웹 사이트 콘텐츠를 동적으로로드하지 않는 이유가 있습니까?웹 사이트 콘텐츠를 동적으로로드하지 않는 이유가 있습니까?

로딩 바를 표시하면서 Javascript로 큰 파일 (이미지 등)을 요청할 생각입니다. 큰 JS/JPG 파일을 동적으로로드하지 않는 이유가 있습니까?

나는 자주 보지 않으며 큰 실수가 아니길 바랬습니다.

+1

JavaScript가 비활성화 된 브라우저입니다. – epascarello

+0

사실이긴하지만 어쨌든 "이 페이지를 보는 데 필요한 자바 스크립트"만 표시합니다. – Burdock

+0

이 질문에 대한 귀하의 목적이 명확하지 않습니다. – joydesigner

답변

1

클라이언트 양면이거나 node.js.와 같은 서버 양면인지 여부에 따라 다릅니다.

클라이언트 측에서는 양방향 요청 요청이 동시에 얼마나 발생했는지에 따라 방문자의 컴퓨터에서 많은 RAM을 사용할 수 있습니다.

기본적으로 사용자 컴퓨터/태블릿/휴대 전화와 처리중인 이미지/데이터/스트림 처리가 많이 부족합니다.

+0

내가 node.js에서 테스트 한 것에서는 성능에 영향을 미치지 않았다.하지만'document.getElementById (id) .innerHTML' 호출로 인해 부하 시간이 실제로 손상된다. – Burdock

+0

나는이 구별을 이해하지 못한다. 하려고합니다. 전통적인 웹 페이지에서 html은 이미지 소스를 지정하고 브라우저는이를로드합니다. OP는 JS가 이미지를로드하는 것에 대해 이야기하고 있습니다. 다시 브라우저에서 이미지를 요청하게됩니다. 어떻게 처리를 서버에서 클라이언트로 오프로드합니까? – nnnnnn

1

이미지가 특히 걱정되는 경우 이미지가 필요할 때까지로드를 지연시키는 방법이 많이 있습니다. 이미지가 표시 될 때까지 소스로드를 피할 수 있습니다. 예를 들어, 소스로 작은 투명 이미지를 사용하고, 데이터 속성에 실제 소스를 저장 : https://github.com/protonet/jquery.inview

:가 화면에 나타날 때

<img src='data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==' data-src='/path/to/real/image.jpg' /> 

그런 다음 이미지를로드의 jQuery 원한다면 InView 플러그인을 사용

$('img').on('inview', function(e, isInView) { 
    if (! isInView) return; 

    $(this) 
    .unbind('inview') 
    .attr('src', $(this).data('src')); 
}); 

나는 왜 당신이 자바 스크립트를 연기하고 싶지는 모르겠다. 수백 킬로바이트의 자바 스크립트 파일을 가지고 있다면 아마 잘못했을 것입니다.

1

또 다른 지연 시간입니다. 우리는 세계의 다른 쪽을 핑 (ping) 할 수 있었고 아주 빨리 응답을받을 수있었습니다. 나는 600ms의 평균에 SO로부터 핑 응답을 얻는다. 위성 연결로

C:\Users\enhzflep>ping www.stackoverflow.com 

Pinging stackoverflow.com [198.252.206.140] with 32 bytes of data: 
Reply from 198.252.206.140: bytes=32 time=809ms TTL=38 
Reply from 198.252.206.140: bytes=32 time=501ms TTL=38 
Reply from 198.252.206.140: bytes=32 time=493ms TTL=38 
Reply from 198.252.206.140: bytes=32 time=630ms TTL=36 

, 당신은 두 번째를 통해보고있는 -이 당신이 가능한 한 많이 배치까지 귀하의 요청에 것을 의미합니다. 페이지가 200 바이트이고 AJAX 콘텐츠가 200 바이트 인 경우에도 페이지로드 시간이 2 초를 초과하게됩니다. 서핑하는 것이 훨씬 즐겁다 고 생각하니?

+0

이것은 매우 좋은 지적입니다. 동적 페이지 접근 방식이 NODE.JS 환경에서 훨씬 잘 작동하는 것처럼 들립니다. – Burdock

관련 문제