jQuery Mobile Google Universal Analytics

a 夏天 提交于 2019-12-10 10:36:14

问题


I've been happily using this best practice http://roughlybrilliant.com/jquery_mobile_best_practices#7 for integrating ga.js with jQuery Mobile. I'm planning to upgrade to analytics.js using the new Universal Analytics tracking code. I wonder whether something like this below will work following the best practice using the ga.js tracking code.

<script>
$(document).ready(function (e) {
    (function (i, s, o, g, r, a, m) {
        i['GoogleAnalyticsObject'] = r;
        i[r] = i[r] || function () {
            (i[r].q = i[r].q || []).push(arguments)
        }, i[r].l = 1 * new Date();
        a = s.createElement(o),
        m = s.getElementsByTagName(o)[0];
        a.async = 1;
        a.src = g;
        m.parentNode.insertBefore(a, m)
    })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
});

$(document).on('pageshow', '[data-role=page], [data-role=dialog]', function (event, ui) {
    try {
        ga('create', 'UA-XXXXXXXX-X', 'domain.com');
        if ($.mobile.activePage.attr("data-url")) {
            ga('send', 'pageview', '$.mobile.activePage.attr("data-url")');
        } else {
            ga('send', 'pageview');
        }
    } catch (err) {}
});
</script>

回答1:


Everything should work above save the '$.mobile...' part being in quotes. A few of their suggestions are a bit off though. Refractored below

<script>
// domReady is unnecessary here and can slow down perceived performance
// $(document).ready(function (e) { 
    (function (i, s, o, g, r, a, m) {
        i['GoogleAnalyticsObject'] = r;
        i[r] = i[r] || function () {
            (i[r].q = i[r].q || []).push(arguments)
        }, i[r].l = 1 * new Date();
        a = s.createElement(o),
        m = s.getElementsByTagName(o)[0];
        a.async = 1;
        a.src = g;
        m.parentNode.insertBefore(a, m)
    })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
    ga('create', 'UA-XXXXXXXX-X', 'domain.com'); // move this here!
// });

$(document).on('pageshow', '[data-role=page], [data-role=dialog]', function (event, ui) {
    try {
        if ($.mobile.activePage.attr("data-url")) {
            ga('send', 'pageview', $.mobile.activePage.attr("data-url")); // remove quotes
        } else {
            ga('send', 'pageview');
        }
    } catch (err) {}
});
</script>


来源:https://stackoverflow.com/questions/20872243/jquery-mobile-google-universal-analytics

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!