Google アナリティクスをjQuerymobile内で使う
Google アナリティクスをjQuerymobile内で使う
jQuerymobile内部でGoogleアナリティクスを使うにはちょっと工夫が必要のようです。
散々jQuerymobileで独自にJavascriptを書こうとして痛い目見ましたからおそらく普通と書き方違うことは対応する前から気がついていましたが・・・
jQuerymobile専用Google アナリティクスコード
以下がjQuerymobile専用のGoogle アナリティクスコードです。自分のトラッキング IDを入れるを入れてコピペで利用してください。
//set var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-xxxxxxx-x']);//自分のトラッキング IDを入れる //async (function () { var ga = document.createElement('script'); 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); })(); //data-role='page'が表示されたら $('[data-role="page"]').live('pageshow', function(){ var u = location.hash.replace('#', ''); u ? _gaq.push(['_trackPageview', u]) : _gaq.push(['_trackPageview']); });
注意点
一応コピペで使えるのですが、以下の点に注意してjQuerymobile専用のGoogle アナリティクスコードを使って下さい
・jQuery本体と、jquery.mobile.min.jsの間に記述する
・全てのページに書く(どこのページからユーザーは読みにいくか分からないため)
・全てのページに書く(どこのページからユーザーは読みにいくか分からないため)
これでAjax遷移しているjQuerymobileサイト内でも正しくカウントを取ることが出来ます。