【发布时间】:2017-10-11 15:33:02
【问题描述】:
我正在尝试在 Google 分析中为客户触发一个事件。当用户单击指向另一个网站的链接时,需要触发该事件。放置在 onclick 中的函数调用无法在桌面上运行,因为页面在 Javascript 运行之前已被卸载。为了修复它,我基于this article实现了以下代码:
<script>
function submitOrderButtion( eventName ){
var url = 'https://example.com';
var goToOrderForm = function(){
console.log( "goToOrderForm" );
window.location = url;
};
//setTimeout( goToOrderForm, 1000 );
console.log( ga.q );
console.log( ga.loaded );
ga('set', 'transport', 'beacon');
ga('send', 'event', 'order online', 'click', eventName, {
hitCallback: goToOrderForm
});
}
</script>
调用函数的链接是这样的:
<a href="javascript:" onclick="submitOrderButtion( 'homepage' );" class="btn btn-primary">Order Online!</a>
点击按钮时 ga 函数从不做任何事情。
ga.q 未定义,ga.loaded 为真。最后一次尝试时,我将传输设置为“信标”,但没有任何区别。除非我取消注释 setTimeout(我最终会在它工作时),否则永远不会调用回调,永远不会记录 ga 事件,并且不会在检查器中显示任何网络请求。
这里是网站Joey's Pizza 的链接。有问题的链接是页面中间的大按钮,上面写着“在线订购!”。
谁能告诉我为什么 ga 函数没有做任何事情?提前感谢您的帮助!
状态更新: 我仍在寻找这个问题的答案。我得到的答案已被多次尝试(使用各种 arg 配置,并检查源以确保未缓存以前的尝试)。我花了将近一天的时间来完成一项简单的任务,而且我没有收到任何错误或任何东西。任何进一步的帮助将不胜感激!谢谢你:)
【问题讨论】:
-
我找到了这个答案,它解决了我的类似问题stackoverflow.com/a/45747319/6943535
标签: javascript google-analytics