2011-06-27 10 views
4

大きな非同期スクリプトローダーyepnope.js(Modernizr2)を使用しています。YepNope(Modernizr)とGoogle Analytics

Googleアナリティクスの非同期コードをyepnopeに組み込むにはどうすればよいですか?

Googleが実際Analyticsのコードのためにこれをお勧め:ボトムライン再

// Give Modernizr.load a string, an object, or an array of strings and objects 
Modernizr.load([ 
    // Presentational polyfills 
    { 
    // Logical list of things we would normally need 
    test : Modernizr.fontface && Modernizr.canvas && Modernizr.cssgradients, 
    // Modernizr.load loads css and javascript by default 
    nope : ['presentational-polyfill.js', 'presentational.css'] 
    }, 
    // Functional polyfills 
    { 
    // This just has to be truthy 
    test : Modernizr.websockets && window.JSON, 
    // socket-io.js and json2.js 
    nope : 'functional-polyfills.js', 
    // You can also give arrays of resources to load. 
    both : [ 'app.js', 'extra.js' ], 
    complete : function() { 
     // Run this after everything in this group has downloaded 
     // and executed, as well everything in all previous groups 
     myApp.init(); 
    } 
    }, 
    // Run your analytics after you've already kicked off all the rest 
    // of your app. 
    'post-analytics.js' 
]); 

注:掲載analyics

<html> 

<head> 
    <script type="text/javascript"> 
    var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-XXXXX-X']); 
    _gaq.push(['_trackPageview']); 
    </script> 
</head> 

<body> 
    <p>Page Content</p> 

    <script src="some_random_script.js"></script> 

    <p>Page Content</p> 

    <script type="text/javascript"> (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> 
</body> 
</html> 

しかしModernizrsのドキュメントでは、彼らはこれを言及します。私はそれが別のHTTP要求ですが、しかし、新しいjsファイルをしたくないです。

私はちょうどイープノープの外にこれを保つでしょうか?それをyepnopeフレームワークに組み込むことに利点はありますか?

アディ

答えて

7

私はIgnited-HTML5-Boilerplateでこれを見つけました。

<script> 
    window._gaq = [['_setAccount','UAXXXXXXXX1'],['_trackPageview'],['_trackPageLoadTime']]; 
    Modernizr.load({ 
     load: ('https:' == location.protocol ? '//ssl' : '//www') + '.google-analytics.com/ga.js' 
    }); 
</script> 
0

ない、これはyepnopeで最新のGoogle Analyticsのコードを組み込むための「最良の方法」ですが、yepnopeにGoogleのコードを統合する方法があるかどうかわから:

<script type="text/javascript"> 
Modernizr.load([ 
    { 
    // WEB ANALYTICS loaded by yepnope (beta) 
    test: Boolean(SITEID = ''), // TODO: Fill the site ID to activate analytics 
    complete: function() { 
     if (SITEID) { 
      var _gaq=[['_setAccount',SITEID],['_trackPageview']]; 
      (function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];g.async=1; 
      g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js'; 
      s.parentNode.insertBefore(g,s)}(document,'script')); 
     } 
    } 
    } 
]); 
</script> 

It should be OKこのコードを配置します</body>タグの直前。

関連する問題