2013-03-07 46 views
1

我試圖瞭解是否存在通過將Facebook的跟蹤代碼在同一個頁面上分析代碼衝突,因爲這條線出現在兩個腳本:Analytics(分析)+ Facebook的跟蹤JavaScript問題與document.getElementsByTagName(「腳本」)[0]

document.getElementsByTagName('script')[0] 

這裏是下面的相關代碼:

<head> 
    <link rel="stylesheet" type="text/css" href="stylesheet.css"> 

    <!---- START OF FACEBOOK TRACKING SCRIPT --> 
    <script type="text/javascript"> 
    var fb_param = {}; 
    fb_param.pixel_id = '6008770441xxx'; 
    fb_param.value = '123.00'; 
    (function(){ 
     var fpw = document.createElement('script'); 
     fpw.async = true; 
     fpw.src = '//connect.facebook.net/en_US/fp.js'; 

此行的位置:

 var ref = document.getElementsByTagName('script')[0]; 
     ref.parentNode.insertBefore(fpw, ref); 
    })(); 
    </script> 
    <noscript><img height="1" width="1" alt="" style="display:none" src="https://www.facebook.com/offsite_event.php?id=600877044xxx&amp;value=0" /></noscript> 

    <!---- START OF ANALYTICS TRACKING SCRIPT --> 
    <script type="text/javascript"> 
    var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-2725xxx-3']); 
    _gaq.push(['_trackPageview']); 
    _gaq.push(['_addTrans', 
     '456',  // order ID - required 
     'xxx', // affiliation or store name 
     '123', // total - required 
     '', // tax 
     '10', // shipping 
     ',  // city 
     '', // state or province 
     'Australia' // country 
    ]);  
    _gaq.push(['_trackTrans']); //submits transaction to the Analytics servers 

    (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> 
</head> 

回答

2

請即行之後是指下一行,

var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s); 

現在,這將插入元素的第一個孩子將和誰曾首次將成爲第二,

所以這只是插入腳本在運行時,不會發生衝突,在所有

:)

+0

謝謝。所以你確定它不會兩次插入到Facebook腳本中? – 2013-03-07 05:47:36

+0

什麼都它會插入,也不會相互衝突,腳本插在同一個地方(第一個孩子),讓對方將成爲第二個孩子時,腳本在不同的腳本。你不必擔心,如果它插入兩次,它在腳本中有智能代碼,他們會檢查它:) – MarmiK 2013-03-07 06:10:55

相關問題