2011-07-31 2 views
3

나는 window.onload 이벤트를 더 빨리 만들어서 Google이 내 페이지가 더 빨리로드 될 것이라고 생각하도록합니다 (이는 window.onload에 도달하는 데 걸리는 시간이 기본적으로 사용자 관점과 관련이 없기 때문에 실망 스럽지만 나는 빗나간다)<iframes>을 수행하고 이미지를 AJAX 지연 window.onload를 통해로드합니까?

그러나 나는 onload 이벤트를 지연시키는 것을 모른다. 구체적으로 :

  1. 내 페이지의 Facebook 즐겨 찾기를 에로드하면로드가 onload 이벤트를 지연 시키나요? likebox iframe이 많은 프로필 사진을로드해야한다면 어떨까요? 부하가 완전히로드 될 때까지 기다리지 않습니까?
  2. 문서 준비가 완료되면 HTML Blob에 대한 비동기 AJAX 요청을 수행하여 페이지에 삽입한다고 가정합니다. 이 HTML BLOB에 <img> 태그 묶음이 들어 있으면 onload 이벤트가로드 될 때까지 기다릴 것입니까?

일반적으로 브라우저는 onload 이벤트를 발생시키는시기를 어떻게 알 수 있습니까? 어떤 종류의 것들이 온로드를 차단하고 어떤 종류의 것들은 차단하지 않습니까?

답변

2

a) window.onload은 "무게"페이지를 줄이는 것 외에는 제어 할 수 없습니다. 브라우저가 이벤트를 선언 할시기를 결정합니다.

b) JavaScript는 JavaScript를 파싱하지 않기 때문에 window.onload 이벤트에 대한 단서가 없습니다.

1) XFBML 버전의 버튼과 Facebook JavaScript SDK (http://developers.facebook.com/docs/reference/javascript/FB.init/)의 비동기 적로드를 사용하여 Facebook 페이로드를 완전히 제거 할 수 있습니다. JavaScript가 활성화 된 경우에만 작동합니다.

2) 웹 페이지의 무게를 크게 늘려야하는 모든 것은 비동기 적으로로드해야합니다. 가급적이면 window.onload 이벤트가 발생한 후에해야합니다.

+1

webmastertool을 보면 Google에서이 데이터를 보지만 페이지가 완전히 렌더링되는 데 걸리는 시간이 얼마나 걸리나요? 자바 스크립트 호출을 포함합니다. – Ibu

+0

Google은 페이지 로딩 시간을 결정할 때 javascript를 명확하게 파싱합니다 (크롤러가 크롤러가 아니라 크롤러에 대해 말하는 것은 아닙니다). 웹 마스터 도구 –

+0

@Ibu, Horace Loeb를 확인하십시오. JavaScript 코드 읽기 및 구문 분석에는 큰 차이가 있습니다. 단순히 JavaScript 내장 링크를 따라갈 수 있고 진정으로 기초적인 JavaScript 코드를 수행하는 것 외에도 Google은 JavaScript를 이해할 수 없습니다. 따라서 창을 이해할 수 없습니다.로드. 페이지를 완전히로드하는 데 실제로 얼마나 오래 걸릴지 추측 할 수 있습니다. – brezanac

2

폭포, 불꽃 또는 크롬 검사기에서 iframe 및 ajax 호출이 onload 이벤트에 영향을줍니다. 나는 페이스 북이 사이트를 상당히 느리게하는 유사한 문제에 부딪쳤다. 예, 웹 마스터 도구에서 페이지로드 시간을 보면서 지연 시간을 보여줍니다.

내 솔루션은 페이지가 완전히로드되었을 때 페이스 북 iframe을 동적으로 추가하는 것이 었습니다. 그리고 아약스 호출에 대해서, 나는 그들을로드 할 때만 트리거합니다.

내 페이지로드 시간이 임베드 된 facebook iframe에서 7 초에서 2.6 초로 동적으로 추가되었습니다.

+0

어떤 아이템이 온로드를 차단하는지 폭포로부터 어떻게 알 수 있습니까? onload 전에 시작된 일부 요청은 차단되지 않습니다. –

+0

예를 들어 Google 크롬에서 수직 빨간색 선 앞에있는 마지막 항목을 볼 수 있습니다. 그것이 얼마나 오래 있는지, 시작 하는지를보십시오. – Ibu

+0

* 빨간색 줄 앞에 * 시작하는 마지막 항목? 또는 빨간색 줄 앞에 * 끝나는 마지막 항목? –

관련 문제