Google アナリティクスをjQuerymobile内で使う ITかあさん

ITかあさん

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サイト内でも正しくカウントを取ることが出来ます。

ネタ元

初夏のJavaScript祭 in サーキュレーションビル ForPro