我使用piwik來跟蹤我的網頁訪問,它工作正常。 我只是說我的網頁上這段代碼的JavaScript:piwik setCustomVariable不工作
var _paq = _paq || [];
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u=(("https:" == document.location.protocol) ? "https" : "http") + "mypiwiklink";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', 1]);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript';
g.defer=true; g.async=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();
// end piwik track code
此代碼有沒有問題。這是標準。 現在我想添加一個自定義變量,用於跟蹤頁面上特定功能的每個調用。 所以函數的代碼裏面,我說:
var selectTableRowHandler = function() {
// function code
//piwik code inside the function code:
var _paq = _paq || [];
_paq.push(['setCustomVariable',
1,
"Visitor",
"myfile",
"page"
]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u=(("https:" == document.location.protocol) ? "https" : "http") + "mypiwiklink";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', 1]);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript';
g.defer=true; g.async=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();
// end of function code here
}
當我調試,我看到的代碼是沒有錯誤執行,但我看不到任何自定義的儀表板piwik添加varibales。 我在做什麼錯? 謝謝!
你試過了嗎?var _paq = _paq || [];'在函數之外,我不確定,但我認爲它需要與piwik.js –
相同的範圍內......你有沒有在請求中看到'_cvars' GET參數?我建議使用Firebug和'Net'功能。看看從你的機器發送給piwik的請求。對於Piwik的direkt響應以及它看到的內容,可以將piwik請求的位置複製到新選項卡中,在GET參數中的某處添加'debug = 1'並執行它。首先,不要忘記在'path/to/piwik/public/config/config.ini.php'中的某個地方添加'[Tracker] \ r debug_on_demand = 1',您將得到調試輸出。 – atripes