2011-09-04 194 views
2

根據Google Analytic's documentation on social tracking網頁跟蹤鳴叫,我應該運行此代碼通知GA時一直鳴叫:來自與谷歌Analytics(分析)

twttr.events.bind('tweet', function(event) { 
    if (event) { 
    var targetUrl; 
    if (event.target && event.target.nodeName == 'IFRAME') { 
     targetUrl = extractParamFromUri(event.target.src, 'url'); 
    } 
    _gaq.push(['_trackSocial', 'twitter', 'tweet', targetUrl]); 
    } 
}); 

不過,我得到一個錯誤,說明twttr沒有定義。我如何從我的網站上的推特按鈕獲取通知,以便我可以跟蹤它?

+0

你定義'extractParamFromUri'?這是他們提供的自定義功能,而不是本地功能。 – Yahel

+0

是的,我確定了,我確實得到了這個工作。出於某種原因,我得到了一個關於'twttr'沒有被定義的錯誤,但是那個錯誤消失了,它現在都在工作......也許是某種緩存問題。 –

回答

2

確認您已經包含正確的twitter按鈕代碼? describe here

之後,打開螢火蟲控制檯,並寫入twttr並擊中輸入。它應該返回twttr對象。

enter image description here

如果沒有驗證您的跟蹤代碼是嘰嘰喳喳下面包括腳本

HTH

+0

我確實有twitter按鈕的正確代碼,因爲twitter按鈕的外觀和功能正常。但是,如果我在Firebug或Chrome的控制檯中寫入twttr,則表示twttr未定義。奇怪,雖然我只是現在檢查,我確實得到一個對象! –

+0

你能提供鏈接到工作代碼嗎? –

+0

這一切都工作,現在謝謝。我猜想某種緩存問題,但網頁能夠看到twttr變量,一切正常。 –

1

如果你換一張支票的類型(即實際創建twttr對象中的一個)然後將修復它的twttr對象:

// Twitter API 'Tweet' button tracking 
    if (typeof(twttr) != 'undefined') { 
     twttr.events.bind('click', function(event) {   
      _gaq.push(['_trackSocial', 'twitter', 'tweet', document.location.href, location.pathname]); 

     });  
    } 
+0

在typeof(twttr)!='undefined'中包裝你的代碼將意味着twttr.events.bind永遠不會被達到,因爲twttr是未定義的。所以不要這樣做。 –

2

如果您要異步加載Twitter API,則需要包裹twttr.events功能如下內:

twttr.ready(function(twttr) { 

}); 

這樣,它會等待異步資源嘗試訪問之前完成加載。
你可以看到更多在這裏:

Twitter Documentation

相關問題