2013-05-11 7 views
0

Google지도와 내 자신의 자바 스크립트를 사용하는 웹 사이트가 있습니다. 나는 소셜 버튼에 addThis 자바 스크립트를 사용하고있다. 내 자바 스크립트 플러스 구글 자바 스크립트로드 및 실행 ($(document).ready...) 그래서 내가 물건을 점점 지연을 최소화하고 싶을 때까지 사이트는 실제로 사용할 수 없습니다. 그래서 다른 모든 것이 끝나기 전까지 AddThis 모듈을 연기하는 것을 보았습니다.addThis 지연 실행

다른 질문에 대한 stackoverflow 페이지의 맨 아래에 지연 싶습니다 자바 스크립트 링크를 배치하는 것이 좋습니다. 그러나 내가 연결된 모든 자바 스크립트가 아무 곳에도로드되지 않을 때까지 실행되지 않을 것이므로 $(document).ready...이 나와 관련이 없다고 생각하는 것이 맞습니까?

만약 그렇다면 어떻게 든 addThis 자바 스크립트에로드해야합니까? $(document).ready...?

모든 Google지도 이미지 등이 모두로드 될 때까지 addThis를 실행하지 않는 것이 좋지만 (.ready()가 이것을 기다리지 않는다고 생각합니다). 이런 종류의 문제를 해결할 수있는 권장 방법이 있습니까?

참조, 전형적인 addThis 사용에 대한

...

<script type="text/javascript"> 
    var addthis_config = { 
     "data_track_addressbar":false, 
     "ui_click":true, 
     "data_use_cookies": false 
    }; 
</script> 
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#"></script> 

<div class="addthis_toolbox addthis_default_style addthis_32x32_style"> 
<a class="addthis_button_facebook"></a> 
<a class="addthis_button_twitter"></a> 
<a class="addthis_button_preferred_1"></a> 
<a class="addthis_button_preferred_2"></a> 
<a class="addthis_button_compact" title="Share"></a> 
</div> 

답변

0

나는 (더 좋은 방법이 있다면 알려 주시기 바랍니다)이 함께했다.

<script type="text/javascript"> 
    var addthis_config = { 
     "data_track_addressbar":false, 
     "ui_click":true, 
     "data_use_cookies": false 
    }; 

    $(window).on("load", function(){ 
     $('head') 
      .append($('<script>') 
      .attr('type', 'text/javascript') 
      .attr('src', "http://s7.addthis.com/js/250/addthis_widget.js#"));   
    }); 
</script> 

<div class="addthis_toolbox addthis_default_style addthis_32x32_style"> 
<a class="addthis_button_facebook"></a> 
<a class="addthis_button_twitter"></a> 
<a class="addthis_button_preferred_1"></a> 
<a class="addthis_button_preferred_2"></a> 
<a class="addthis_button_compact" title="Share"></a> 
</div> 
+0

에 addthis_config 변수에 프로필 ID를 포함해야합니다 수 있습니다 다음과 같이 애널리틱스가 계속 추적되는지 확인하십시오. var addthis_config = { "data_track_ad dressbar ": false, "ui_click ": true, "data_use_cookies ": false, "pubid ": 'your_pubid' }; – Paul

0

누군가가 여전히 해결책을 찾고 있습니다. AddThis는 이미 많은 사람들이 페이지 지연에 짜증을 내었고 이제는 (dom) 준비가되었을 때로드 할 스크립트에서 제어 할 수있는 몇 가지 옵션을 제공합니다 : 동적로드를 사용하거나 # async = 1을 추가하여 비동기로드, 나는 다른 좋은 옵션이 바로 이런 식으로 넣어 생각 - DOM이 준비 될 때까지 어떤 실행되지 않습니다 :

<script type="text/javascript"> 


/* 
    //if you have a pub_id, add it here and uncomment these two lines 
    var addthis_config = addthis_config||{}; 
    addthis_config.pubid = 'YOUR PUBID'; 
    */ 
    var addthisScript = document.createElement('script'); 
    addthisScript.setAttribute('src', 'http://s7.addthis.com/js/300/addthis_widget.js#domready=1') 
    document.body.appendChild(addthisScript) 
</script> 

당신은 read more here