Html元素在生产中消失

时间:2012-12-20 11:40:16

标签: javascript html analytics

我正在一个网站上工作,当用户注册时,我们会在页面中插入一段html。

<span data-log-in-status="complete-sign-up" data-log-in-type="email" id="log_in_status" style="display:none;"></span>

然后我们有一个页面加载事件找到此元素,并将此信息推送到Google Analytics。在开发中我可以在页面源代码中看到这个元素,但是在生产中,这个元素没有 - 在哪里可以找到......

然而,这就是说 - 分析完成注册事件在两种环境中都被触发了!

我真的很想了解发生了什么 - 它就像元素出现在页面中一样(分析事件触发了正确的数据)然后消失了......我唯一能想到的是,如果一段javascript以某种方式删除了这个元素,或者浏览器是否删除了它。

以下是网络上发生的事情的屏幕截图:

enter image description here

这是获取此数据并将其推送到分析的javascript代码:

$(document).ready(function () {
    var status, loginStatus;
    loginStatus = $('#log_in_status');

    if(loginStatus) {
        login_type = $(loginStatus[0]).attr('data-log-in-type');
        status = $(loginStatus[0]).attr('data-log-in-status');

        pushGAEvent(status, login_type, null, null);
        if(status === 'complete-sign-up') {
              goog_report_conversion(); //adwords
        }
    } 
});

思想?

1 个答案:

答案 0 :(得分:0)

您的代码将始终触发,无论天气是否存在,因为即使是空的jQuery对象也会评估为true。

尝试:

if (loginStatus.length > 0)

而不是:

if (loginStatus)