2009-05-25 3 views
9

"Better Google Analytics JavaScript that doesn’t block page downloading"을 사용하여 HTML/페이지 렌더링을 차단하지 않도록 Google 웹 로그 분석을 동적으로로드했습니다.Google 웹 로그 분석 - HTML/페이지 렌더링 차단

"전송 데이터를 www.google-analytics.com에서"

:

그러나, 상태 내 HTML 페이지가 파이어 폭스 3.0 (WINXP) 상태 메시지에 렌더링을 차단하는 것 occassionaly 나타납니다 HTML/페이지 렌더링을 차단하지 않는 방식으로 Google 웹 로그 분석 자바 스크립트를로드하는 방법에 대한 아이디어가 있습니까?

+0

페이지를 아래로 둔화에 대한 구글의 분석을 비난했다. 나는 FF 3.0이 그것을 지원하지 않는다고 생각한다. –

+1

링크가 깨졌습니다. – codebox

+0

기사 링크가 끊어졌습니다. 2014 년 4 월의 마지막 캐시 된 버전 링크입니다. http://web.archive.org/web/20130402061350/http://lyncd.com/2009/03/better-google-analytics-javascript/ –

답변

4

Google에서 권장하는 것처럼 </body> 태그가 나오기 전에 Google 웹 로그 분석 코드를 마지막으로 넣으시겠습니까?

+0

나는 lyncd.com 기사 코드에서 알 수 있듯이 JS를 head 요소에 동적으로로드합니다. –

+0

오케이. 'www.google-analytics.com에서 데이터 이전'메시지가 표시되면 페이지의 모든 내용이 실제로 렌더링되지 못하도록 차단 되었습니까, 아니면 페이지가 주변에 맴돌고 있지 않은 것처럼 보입니까? – chaos

+0

메시지를 볼 때 페이지 렌더링시 눈에 띄는 블록이 있습니다. 나는 어떤 DIV 디스플레이를 "none"에서 "block"으로 전환시키는 JS를 가지고 있지만이 코드는 페이지가 www.google-analytics.com에서 데이터를 전송하는 " –

1

하지만 (단지 </몸 > 전) 하단에 그것을 지연 :

<script type="text/javascript" src="http://www.google-analytics.com/ga.js"></script> 
<script type="text/javascript"> 
    if (typeof(_gat)=='object') 
     setTimeout(function(){ 
      _gat._getTracker("UA-1234567-8")._trackPageview()}, 1500); 
</script> 

나는 이것이 " best way to integrate analytics" 생각하는 이유에 대한 내 설명에서보세요

1

을. DEFER 속성이 적용됩니다.

<script DEFER type="text/javascript" src="http://www.google-analytics.com/ga.js"> 

<script DEFER type="text/javascript">... tracker code ...</script> 
7

Google 애널리틱스 [추적 코드 비동기로드] [1]을 사용할 수 있습니다. 스 니펫이 도움이됩니다.

<script type="text/javascript"> 

    var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-XXXXX-X']); 
    _gaq.push(['_trackPageview']); 

    (function() { 
     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') +  '.google-analytics.com/ga.js'; 
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
    })(); 

</script> 
+7

참고 -이 코드는 오래되었습니다. Google에서 업데이트를 게시했습니다 : http://code.google.com/apis/analytics/docs/tracking/asyncTracking.html – Brian

+0

이 댓글 날짜 현재 답변은 Google의 추적 코드와 유사합니다. –

관련 문제