私はサイトの多くの機能にrequire.js()を使用していますが、これまでのところうまく機能しているようです。私はGoogleアナリティクスのコードを含めるときに問題に遭遇しました。このコードはutm.gifの追加を拒否しているようだが、Googleにビーコンを送信していない。私はそれがスコープのものかどうか疑問に思っています。Require.jsでGoogle Analyticsを使用した場合の問題
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、私は本当に新しい行を入力してshift +入力してください、別の方法ではない...そしてコメントボックスはすべての改行を食べました) そうですスコープの問題コードを使用する場合: \tが必要([ "jqueryの"]、関数($){ \t VAR fooが( 'バー')を必要とする=; })。 \tコンソール。log(foo); 'foo'にアクセスできません。私は、javascriptのところまでは、fooはrequireのスコープ内にしか存在しないので、これが理にかなっていると思います。私はga.jsが生成されたときに_gaqを探していると思うが、これは必要なので見つからない。 ご意見はありますか? – boolean
まあ、私は読めることは不可能だと確信しています。 – boolean