jQuery mobile和Google Analytics - 单页模板

时间:2012-10-30 00:12:09

标签: jquery-mobile asynchronous google-analytics

我没有在任何地方找到我的问题的答案,我对javascript一无所知,所以我无法弄清楚自己。

如果我构建了jQuery移动网站,那么每个页面都在单独的html文件中single page template)。我可以使用标准的异步Google Analytics代码,还是必须进行与those used in multi page template类似的修改?

如果有人能回答这个问题,我将非常感激。

1 个答案:

答案 0 :(得分:3)

是的,您可以使用标准的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) {

    }

});