복붙노트

[JQUERY] $ (문서) .ready (함수 () {}); 페이지 하단의 스크립트 대

JQUERY

$ (문서) .ready (함수 () {}); 페이지 하단의 스크립트 대

해결법


  1. 1.당신이 (내가 구글에서 이것을 읽을 때까지 그것에 대해 긴장)에서 작동하는 거의 어느 쪽이든, 그 자체의 DOM이 준비가 될 것입니다. 이 페이지 트릭의 끝을 사용하는 경우 코드는 조금, 조금도 빨리 호출되지하지만 문제가됩니다 아무것도 얻을 수 있습니다. 하지만 더 중요한 것은,이 선택은 당신이 페이지에 자바 스크립트를 연결 곳에 관한 것이다.

    당신이 (내가 구글에서 이것을 읽을 때까지 그것에 대해 긴장)에서 작동하는 거의 어느 쪽이든, 그 자체의 DOM이 준비가 될 것입니다. 이 페이지 트릭의 끝을 사용하는 경우 코드는 조금, 조금도 빨리 호출되지하지만 문제가됩니다 아무것도 얻을 수 있습니다. 하지만 더 중요한 것은,이 선택은 당신이 페이지에 자바 스크립트를 연결 곳에 관한 것이다.

    당신이 머리에 스크립트 태그를 포함하고 준비에 의존하는 경우 사용자에게 아무 것도 표시하기 전에, 브라우저는 스크립트 태그를 발견. 이벤트의 정상적인 과정에서, 브라우저는 비명을 지르는 정지에 왕래과의 스크립트를 스크립트를 다운로드 자바 스크립트 인터프리터를 발사, 손, 다음 인터프리터가 스크립트를 처리 (다음 jQuery를 다양한 방법으로 시계 동안 기다립니다 DOM을위한) 준비합니다. (일부 브라우저는 스크립트 태그에 대한 비동기 또는 연기 속성을 지원 때문에 "사물의 정상적인 과정에서"라고한다.)

    당신은 body 요소의 끝에서 스크립트 태그를 포함하면 페이지가 대부분 이미 사용자에게 표시 될 때까지, 브라우저는이 모든 것을하지 않습니다. 이것은 당신의 페이지로드 시간을 인식 향상.

    그래서 가장 좋은 인식로드 시간을 얻기 위해, 페이지 하단에 스크립트를 넣어. (이. 또한 야후 사람의 가이드 라인이다) 그리고 당신이 할 거라면, 다음 준비를 사용할 필요는 없다 당신이 좋아하는 경우에 당신이 할 수 물론 있지만.

    당신은 사용자가 볼 수있는 것들과 상호 작용 할 준비가되어 있는지 확인해야합니다 불구하고 가격은 그것을 위해있다. 페이지가 크게 표시된 후에 다운로드 시간을 이동하여, 당신은 당신의 스크립트가로드되기 전에 페이지와 상호 작용을 시작하는 사용자의 가능성을 높일 수 있습니다. 즉, 마지막에 스크립트 태그를 퍼팅에 대한 반론 중 하나입니다. 자주는 문제가 아니지만, 그렇게하면 당신이 그것을 처리하는 방법, 그것은 있는지 여부를 확인하고 페이지를보고있다. (당신은 문서 전체의 이벤트 핸들러 설정이 대처하는 것을 머리에 작은 인라인 스크립트 요소를 넣을 수 있습니다.이 방법을 사용하면 개선 된로드 시간을 얻을 수 있지만, 너무 일찍 뭔가를하려고하면, 당신도 그들에게 말할 수 있습니다 그 또는 더 나은, 그들이 당신의 전체 스크립트가 준비가되었을 때 그것을하고 싶은 일을 대기.)


  2. 2.귀하의 페이지는 동 기적으로 처음로드 할 jQuery를 필요로하기 때문에 (말 대신 모든)를 DOM에 걸쳐 $ (문서) .ready () 스크립트를 산란하여 느리게로드됩니다.

    귀하의 페이지는 동 기적으로 처음로드 할 jQuery를 필요로하기 때문에 (말 대신 모든)를 DOM에 걸쳐 $ (문서) .ready () 스크립트를 산란하여 느리게로드됩니다.

    $ = jQuery를. 먼저 로딩 jQuery를하지 않고 스크립트에서 $를 사용할 수 있습니다. 이 방식의 힘은 당신이 jQuery를 완전히 다운로드 될 때까지 페이지로드를 중단 할 페이지의 시작 부분 근처에 jQuery를로드합니다.

    당신이하지로드 jQuery를 비동기 하나 때문에 많은 경우에, 당신의 $ (문서) .ready () 스크립트 (들) 다시 $ 아직 정의되지 않았기 때문에, jQuery를 완전히 비동기로드되기 전에 실행하고 오류가 발생하려고합니다 수 있습니다.

    말했다되는 것으로, 시스템을 속일 수있는 방법이있다. 본질적으로 설정 $ 큐 / 배열 $ (문서) .ready () 함수를 가압하는 기능과 동일. 다음 페이지의 하단에 부하 jQuery를 다음 반복 처리 큐 통해 한번에 .ready ()를 각각 $ (문서)를 실행한다. 이것은 당신이 페이지 하단에 jQuery를 연기하지만, 여전히 DOM에 이상 $를 사용할 수 있습니다. 나는 개인적으로 얼마나 잘 작동 테스트를하지 않은,하지만 이론은 소리입니다. 아이디어는 잠시 동안 주변되었습니다하지만 난 아주, 아주 드물게는 구현 보지했습니다. 그러나 그것은 좋은 생각처럼 보인다 :

    http://samsaffron.com/archive/2012/02/17/stop-paying-your-jquery-tax

  3. from https://stackoverflow.com/questions/6026645/document-readyfunction-vs-script-at-the-bottom-of-page by cc-by-sa and MIT license