Używam require.js (http://requirejs.org/) do wielu funkcji w mojej witrynie i jak na razie wygląda to dobrze. Podczas próby dołączenia kodu Google Analytics wystąpił problem. Wydaje się, że kod odmawia dodania utm.gif i nie wysyła sygnału nawigacyjnego do Google. Zastanawiam się, czy to kwestia zakresu.Problem z korzystaniem z Google Analytics z 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 nie zgłasza błędów, a utm.gif nie pojawia się. Jeśli przeniesię kod poza require.js (przez co rozumiem modułowy javascript używający require.js, więc po prostu dodanie go do strony), utm.gif zostanie pomyślnie dodany do strony, a ga.debug odesłał jej sygnał nawigacyjny.
znalazłem tę stronę, która wydaje się być używając go z powodzeniem, ale nie jestem pewien, co robi, że strona jest inna: http://paceyourself.net/2011/05/14/managing-client-side-javascript-with-requirejs/
ktoś inny napotkasz problemów łączących require.js i GA?
Więc to wydaje się być kwestia zakresu. Używając kodu: – boolean
(Bah, naprawdę chciałbym wprowadzić nowy wiersz, a shift + wpisać wysłany, a nie na odwrót ... i pole komentarzy zjadło wszystkie moje przerwy w linii!) Wygląda na to, że problem zakresu. Przy użyciu kodu: \t wymagają ([ "jQuery"], funkcja ($) { \t var xxx = wymagają ('bar'); }); \t konsola.log (foo); Nie mogę uzyskać dostępu do "foo". Sądzę, że jeśli chodzi o javascript, ma to sens, ponieważ foo istnieje tylko w zakresie wymagań. Podejrzewam jednak, że gdy generowany jest ga.js, szuka on _gaq, którego nie można znaleźć, ponieważ jest potrzebny. Jakieś myśli? – boolean
Cóż, jestem prawie pewien, że nie da się tego przeczytać. – boolean