ga.js to analytics.js - 事件函数检查_gaq

时间:2016-05-27 13:48:00

标签: javascript google-analytics

我正在将我们的系统从ga.js迁移到analytics.js,我有一个提交事件的函数。功能是:

function _fireGoogleEvent() {
    if (_gaq) {
        _gaq.push(['_setAccount', 'UA-XXXXX-1']);
        _gaq.push(['_trackEvent', 'EventCategory', 'Submitted']);

        _gaq.push(['_setAccount', 'UA-XXXXX-2']);
        _gaq.push(['_trackEvent', 'EventCatergory', 'Submitted']);
    }
}

迁移到analtyics.js时,我是否需要检查ga是否存在,就像他们正在检查是否存在_gaq一样?我知道ga.js会检查它是否存在于var _gaq = _gaq || [];的普通代码段中,但他们并没有尝试将其设置为数组,即使它不存在,所以我真的不能想到为什么他们会检查它。代码中没有任何其他点可以提交另一个事件,因此他们可以检查的唯一其他事情是,如果在创建页面视图时存在跟踪器。我真的没有看到他们检查_gaq的任何理由,除非他们半试图复制var _gaq = _gaq || [];,或者这只是试图查看跟踪器是否已经存在,如果是,请发送此信息事件?我不相信它是后者,因为我没有看到任何创建跟踪器的尝试。

1 个答案:

答案 0 :(得分:0)

您可以在这种情况下将ga替换为_gaq = _gaq || [] 并调整跟踪线。

当你这样做时:

if (_gaq)

如果它尚不存在,您正在创建一个数组来推送这些事件。如果在此代码已经运行之后将分析添加到页面中(例如,通过异步脚本),那么它将在加载后找到并推送这些跟踪事件。

当你这样做时:

{{1}}

如果_gaq不存在,你根本就没有完成任务。这也可以防止代码在分析代码段意外丢失时出现异常,但在此代码运行后,如果将分析代码段添加到页面中,则不会存储这些事件。