我使用require.js(http://requirejs.org/)爲我的網站上的一些功能,到目前爲止,它似乎運作良好。儘管試圖包含Google Analytics代碼,但我遇到了一個問題。該代碼似乎拒絕添加utm.gif,並且沒有向Google發送燈塔。我想知道這是否是一個範圍的事情。使用谷歌分析與Require.js的問題
define(function() {
var Analytics = {};
Analytics.Apply = function() {
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);
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);
}
return Analytics;
});
ga.debug拋出錯誤,utm.gif不會出現。如果我將代碼移動到require.js之外(因爲我的意思是使用require.js的模塊化JavaScript,所以只需將它內聯添加到頁面中),則utm.gif會成功添加到頁面中,並且ga.debug會發送它的信標。
我發現這個網站,這似乎是成功地使用它,但我不知道是什麼網站是做不同:http://paceyourself.net/2011/05/14/managing-client-side-javascript-with-requirejs/
其他人遇到結合require.js和GA的問題?
所以它似乎是一個範圍的問題。當使用代碼: – boolean
(Bah,我真的希望進入一個新的行,並轉移+輸入張貼,而不是其他方式...和評論框吃了我所有的換行符!) 所以它似乎是範圍問題。當使用的代碼: \t 要求([ 「的jquery」],函數($){ \t變種富=要求( '巴'); }); \t控制檯。日誌(FOO); 我無法訪問'foo'。我猜只要javascript變得有意義,因爲foo只存在於require的範圍內。我懷疑,當生成ga.js時,它正在尋找_gaq,由於它在require中,因此無法找到它。 有什麼想法? – boolean
嗯,我很確定這是不可能讀取。 – boolean