是否有已經執行到自定義會話參數添加到Piwik跟蹤代碼後,當前會話的任何行之有效的方法後,自定義會話參數添加到Piwik?該網站已被載入
目前,我正在使用此代碼:
window._paq.push(['trackEvent', 'vendor', 'VND001' ,'value']);
的問題是,這個代碼不可靠地工作。我相信這可能是因爲Piwik跟蹤代碼已經被執行併發送到服務器,但我不確定。
是否有已經執行到自定義會話參數添加到Piwik跟蹤代碼後,當前會話的任何行之有效的方法後,自定義會話參數添加到Piwik?該網站已被載入
目前,我正在使用此代碼:
window._paq.push(['trackEvent', 'vendor', 'VND001' ,'value']);
的問題是,這個代碼不可靠地工作。我相信這可能是因爲Piwik跟蹤代碼已經被執行併發送到服務器,但我不確定。
對於異步跟蹤,配置和跟蹤呼叫被壓入全球_paq陣列用於執行,獨立piwik.js的異步加載的。格式是:
_paq.push([ 'API_method_name', parameter_list ]);
所以這似乎是沒問題的你的結局。
當你談論不可靠的行爲有可能當你刷新頁面(簡單地抨擊F5)你繞過腳本文件的加載,因爲它已經由先前的請求緩存。然後對_paq
的這個調用可能是undefined
。嘗試使用Ctrl + F5來查看行爲是否改變。
還要注意初始化部分:var _paq = _paq || [];
限定先前填充陣列或空單。它不會傷害到把這個在你的代碼的面前,但你必須要注意關閉:
(function(){
var _paq = _paq || [];
_paq.push(['trackEvent', 'vendor', 'VND001' ,'value']);
}());
現在,你通常會做的是先獲得當前的跟蹤:
var piwikTracker = Piwik.getTracker(12, 'http://example.com/piwik/');
//piwikTracker.setSiteId(12);
//piwikTracker.setTrackerUrl('http://example.com/piwik/');
piwikTracker.trackEvent('vendor', 'VND001' ,'value');
但我不能完全肯定,如果這是只有關Piwik 2.16.1或更早。隨時測試出來,讓我知道^^