Javascript 函数作为变量

标签 javascript google-analytics settimeout google-tag-manager

我是一名数字分析师,正在尝试学习 Javascript,尤其是我们的组织现在使用 Google 跟踪代码管理器。

今天早上,我的网站设置为跟踪某些出站链接(点击应用程序商店)作为事件。自定义 HTML 是:

  <script type="text/javascript"> 

$(document).ready(function(){ 

    $('.app-cta a').click(function(){ 
        dataLayer.push({ 'event':'GAevent', 'eventCategory':'App', 'eventAction':'Click to App Store', 'eventLabel':'iOS' }) 
    }); 

});

</script>

但是有一个问题(显然很常见),当用户单击退出链接时,浏览器会在 Javascript 有时间将参数传递给 Google Analytics 之前访问新网站。建议的解决方法是添加 500 毫秒的延迟:

<script type="text/javascript"> 

setTimeout(function(){
$(document).ready(function(){ 

    $('.app-cta a').click(function(){ 
        dataLayer.push({ 'event':'GAevent', 'eventCategory':'App', 'eventAction':'Click to App Store', 'eventLabel':'iOS' }) 
    }); 

});
},500);

</script>

这很有效,让我感觉很棒,因为这是我第二次或第三次使用 Javascript。

然后我想更大胆一点。我想让代码“更整洁”,并尝试从分析函数中创建一个变量,然后针对该变量运行 setTimeout 方法。这是我尝试过的:

<script type="text/javascript"> 

setTimeout(function(){track_app},500);


var track_app = $(document).ready(function(){ 

    $('.app-cta a').click(function(){ 
        dataLayer.push({ 'event':'GAevent', 'eventCategory':'App', 'eventAction':'Click to App Store', 'eventLabel':'iOS' }) 
    }); 

});


</script>

我意识到这看起来一定非常基本,但如果有人能指出为什么最后一次尝试不起作用,我将不胜感激?我最初的尝试(这是有效的并且我可以轻松恢复)是否是向分析功能添加 500 毫秒延迟的“最巧妙”方法?集成 setTimout 方法的最佳方式是什么?

最佳答案

你几乎做到了; track_app 必须是一个完整的函数,而不仅仅是函数体

var track_app = function () {
        $(document).ready(function () {
            $('.app-cta a').click(function () { 
                dataLayer.push({'event': 'GAevent', 'eventCategory': 'App', 'eventAction': 'Click to App Store', 'eventLabel': 'iOS'});
            });
        });
    };

setTimeout(track_app, 500);

关于Javascript 函数作为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18175688/

相关文章:

magento - Magento 的 Google 电子商务跟踪

jQuery - 通过另一个事件停止延迟淡出

JavaScript 计时问题 - 在设置 sessionStorage 值之前关闭窗口

javascript - 如何在chrome扩展程序的顶部显示消息?

Javascript 弹出窗口作为单例

javascript - 未捕获的语法错误 : Unexpected token (

javascript - jquery onchange 设置超时

javascript - 检查数组中的所有元素是否都是字符串

javascript - 自定义 Javascript 变量的问题

php - 将 Google Analytics 跟踪代码添加到联系表单