简单的情况,需要在提交表单时向Google发送一个事件。
我尝试了10种不同的方法,但它既没有发送GA事件,也没有提交表单。
<form id="n" action="/" method="post">
发送事件但不发送表格:
<input type="button"
onclick="window._gaq.push(['._trackEvent', 'x', 'x', 'x']);document.getElementById('n').submit();">
尝试使用setTimeout - 不发送事件但提交表单:
<input type="button"
onclick="window._gaq.push(['._trackEvent', 'x', 'x', 'x']);window.setTimeout(function(){document.getElementById('n').submit();}, 200);">
尝试使用按钮上的type="submit"
,没有发送事件:
<input type="submit"
onclick="window._gaq.push(['._trackEvent', 'x', 'x', 'x']);">
尝试将提交放入GA数组中,它确实提交了按钮,但没有注册事件:
<input type="submit"
onclick="window._gaq.push(['._trackEvent', 'x', 'x', 'x']);window._gaq.push(function(){document.getElementById('n').submit()});">
在onsubmit="doX();"
中使用<form />
尝试了jQuery,但它也没有发送事件:
<script>
function doX() {
window._gaq.push(['._trackEvent', 'test', 'test', 'test']);
document.getElementById('n').submit();
}
</script>
将window._gaq.push(['._trackEvent', 'x', 'x', 'x']);
放在控制台或代码中的某个位置。
将document.getElementById('n').submit();
放在代码或控制台中的某处也可以。
他们不能一起工作。
我尝试了一些其他功能并没有让它发挥作用。
答案 0 :(得分:0)
如果您还在使用jQuery,那么只需使用提交操作。
输入加载后,例如在页面底部或window.loaded区域内:
$('input#button').click( function () {
window._gaq.push(['._trackEvent', 'x', 'x', 'x'])
this.submit();
});
如果您切换到最新版本的Google Analytics,他们会有一个Chrome扩展程序,可以在控制台中显示活动详情。这很不错。