我在任何地方都没有找到我的问题的答案,而且我对 javascript 一无所知,所以我自己也搞不清楚。
如果我构建了 jQuery 移动网站,以便每个页面都在单独的 html 文件(单页模板)中。我可以使用标准的异步 Google Analytics 代码,还是必须进行类似于多页模板中使用的修改?
如果有人能回答这个问题,将非常感激。
是的,您可以使用标准的 Google Analytics(分析)代码。但是,由于 jQuery Mobile 处理页面导航的方式,您需要将某些页面视图“推送”到 Google Analytics。
例如,如果您的网站上有一个联系表单contact.html
,一旦提交,就转到一个process.php
页面,然后在完成后,用户到达thank-you.html
,您将需要调用一些 JavaScript 来将页面浏览量“推送”到 Google Analytics。
例如,如果您的 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>
更新:
在加载 jQuery 和 jQuery Mobile 后,我会将其放入您的script.js
文件中,该文件包含在头部中。这会在每个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) {
}
});