包装JavaScript跟踪代码

时间:2011-06-02 08:28:43

标签: javascript

我有来自Piwik的跟踪代码。

<!-- Tracking Code --> 
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://example.com/" : "http://example.com/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
  var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 29);
  piwikTracker.trackPageView();
  piwikTracker.enableLinkTracking();
} catch( err ) {}
</script><noscript><p><img src="http://example.com/piwik.php?idsite=29" style="border:0" alt="" /></p></noscript>
<!-- Tracking Code -->

我想隐藏以下代码,所以我想我可以把这段代码放在一些js文件中,并使用以下代码加载它。

但我不知道怎么办呢。这里需要帮助。

其次,我需要更改网站ID(在上面的示例中为29),这对于不同的网站会有所不同。

如何将site-id传递给我将创建的自定义文件,并执行上面的代码。

2 个答案:

答案 0 :(得分:1)

var pkBaseURL = (
    ( "https:" == document.location.protocol )
    ?
    "https://example.com/"
    :
    "http://example.com/");  

var piwik_script = document . createElement ( "script" ) ;
piwik_script . src = pkBaseURL + "piwik.js" ;
document . body . appendChild ( piwik_script ) ;

function track ()
{
  try
  {
    var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", piwik_page_id);
    piwikTracker.trackPageView();
    piwikTracker.enableLinkTracking();
  } catch( err ) {}
}

piwik_script . addEventListener ( "load", track );

答案 1 :(得分:-1)

将它放在piwik_loader.js中:

    var pkBaseURL = (("https:" == document.location.protocol) ? "https://example.com/" : "http://example.com/");
    var piwik_js = document.createElement('script');
    piwik_js.setAttribute("type","text/javascript");
    piwik_js.setAttribute("src", pkBaseURL + "piwik.js");
    var executor = function ()
    {
       try {
      var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", piwik_page_id);
      piwikTracker.trackPageView();
      piwikTracker.enableLinkTracking();
      } catch( err ) {}

    }

    piwik_js.onreadystatechange= function ()
    {
       if (this.readyState == 'complete')
       executor();
    }
    piwik_js.onload = executor;

    document.getElementsByTagName('head')[0].insertBefore(piwik_js, document.getElementsByTagName('head')[0].firstChild);

这是你的html文件:

<!-- Tracking Code --> 
<script type="text/javascript"> var piwik_page_id = '29'; </script>
<script type="text/javascript" src="piwik_loader.js"></script>    

<noscript><p><img src="http://example.com/piwik.php?idsite=29" style="border:0" alt="" /></p></noscript>
<!-- Tracking Code -->