我打算使用Google Analytics Measurement Protocol。我目前正計劃通過將其作爲URL參數包含在某些Ajax請求中來捕獲客戶端ID(cid)。使用Google Analytics跟蹤器客戶端ID(cid)
我發現我可以公開這樣的客戶端ID值:
var ga_cid;
ga(function(tracker) {
ga_cid = tracker.get('clientId');
});
我很擔心,這條路線是拙劣的形式,因爲它是污染全局命名空間。但是,我一直無法找到更優雅的(最佳實踐)解決方案。
什麼是「正確」的方式?我是否在說這個?
您所提供的代碼是從他們的文檔中的一個。它不會使客戶端ID可供使用,因此我的帖子。 – Sonny
不,實際上兩個代碼之間存在巨大差異。如果你在函數外面聲明var,你將它增加到全局範圍。只要在函數中聲明變量,就可以將範圍保持爲本地。 http://stackoverflow.com/questions/500431/what-is-the-scope-of-variables-in-javascript – pal4life
你誤會了我。我知道你給出的例子中的值範圍是本地的。這是官方文件中的例子。正如我所討論的那樣,讓它在本地存在並不能讓我能夠訪問JavaScript中其他位置的值,就像在進行Ajax調用時一樣。這就是爲什麼我提出了我的修改版本,以及是否是實現它的方式,還是有更好的路線。 – Sonny