私の質問に対する答えはどこにも見つかりませんでしたし、JavaScript について何も知らないので、自分で理解することはできません。
すべてのページが個別のhtmlファイル(単一ページテンプレート)になるようにjQueryモバイルWebサイトを構築した場合。標準の非同期 Google Analytics コードを使用してもよいですか、それともマルチページ テンプレートで使用されているものと同様の変更を行う必要がありますか?
誰かがこの質問に答えてくれたら、とてもありがたいです。
私の質問に対する答えはどこにも見つかりませんでしたし、JavaScript について何も知らないので、自分で理解することはできません。
すべてのページが個別のhtmlファイル(単一ページテンプレート)になるようにjQueryモバイルWebサイトを構築した場合。標準の非同期 Google Analytics コードを使用してもよいですか、それともマルチページ テンプレートで使用されているものと同様の変更を行う必要がありますか?
誰かがこの質問に答えてくれたら、とてもありがたいです。
はい、標準の Google Analytics コードを使用できます。ただし、jQuery Mobile がページ ナビゲーションを処理する方法のために、特定のページ ビューを Google アナリティクスに「プッシュ」する必要があります。
たとえば、サイトにコンタクト フォームがあり、contact.html
送信process.php
後にページに移動し、完了後にユーザーが に到達した場合thank-you.html
、JavaScript を呼び出して、ページビューを Google アナリティクスに「プッシュ」する必要があります。
たとえば、jQuery Mobile ページ要素 ( data-role="page"
) に が含まれているid="thank-you"
場合、次のように使用します。
<script type="text/javascript">
$(document).delegate('#thank-you', 'pageshow', function () {
//Your code for each thank you page load here
_gaq.push(['_setAccount', 'UA-XXXXXXX-X']);
_gaq.push(['_trackPageview', '/thank-you.html']);
});
</script>
アップデート:
script.js
jQuery と jQuery Mobile をロードした後、head に含まれるファイルにこれを入れます。これは各data-role="page"
pageshow
イベントで発生し、現在、私のライブ プロジェクトに問題なく取り組んでいます。
$('[data-role=page]').live('pageshow', function (event, ui) {
try {
_gaq.push(['_setAccount', 'UA-XXXXXXX-X']);
hash = location.hash;
if (hash) {
_gaq.push(['_trackPageview', hash.substr(1)]);
} else {
_gaq.push(['_trackPageview']);
}
} catch(err) {
}
});