JavaScript:分析跟踪事件不会触发

JavaScript: Analytics Track Event won't fire

本文关键字:事件 跟踪 JavaScript      更新时间:2023-09-26

我已经将函数放入表单验证部分,以便只有当表单有效时,才会发送信标。我确定我错过了一些东西。请参阅下面的代码。

function checkForm() {
    var error = "";
    if($("#first_name").val()=="") { error+="- Enter your first name.'n";};
    if(error=="") {
        _gaq.push(['_trackEvent','Form','Submit','Newsletter']);
        return true;
    } else {
        alert("Please correct these form errors before you submit the form:'n'n"+error)
        return false;
    }
}

编辑:感谢大家的帮助!测试了这个,100ms似乎还不够。

现在我正在考虑用更聪明的方式做到这一点。一旦所有必填字段都有文本,提交它是有意义的,但它应该足够聪明,可以提交多次并且仅在数据有效时才提交!

尝试使用 setTimeout() 或 setInterval() 给出延迟(可能大约 100 毫秒或更短),并让 GA 数据提交。为我工作。

function gaSubmit(param){
_gaq.push(param);
}
function checkForm() {
    var error = "";
    if($("#first_name").val()=="") { error+="- Enter your first name.'n";};
    if(error=="") {
        setTimeout(gaSubmit(['_trackEvent','Form','Submit','Newsletter']),100);
        return true;
    } else {
        alert("Please correct these form errors before you submit the form:'n'n"+error)
        return false;
    }
}

你确定是不是火灾吗?分析数据刷新可能存在一些延迟。如果您在本地主机上开发应用程序,则应_setDomainName属性设置为"none"

_gaq.push(['_setAccount', 'Your-account-id']);
_gaq.push(['_setDomainName', 'none']);

@see:来自本地主机的 GA 事件跟踪