gpt4 book ai didi

javascript - 使用 setTimeout 调用函数的问题

转载 作者:行者123 更新时间:2023-11-30 10:47:11 26 4
gpt4 key购买 nike

我们的应用程序在跟踪谷歌分析请求方面存在问题。除非通过 setTimeout 调用用于向 google 发送请求的方法,否则 firefox 不会跟踪内部链接。所以我让这段代码正常工作,但已经离开几个月,发现一位同事完全更改了配置文件并删除了 setTimeout 调用。现在,当我将代码放回(带有额外的新变量)时,我在浏览器中收到一个 js 错误,提示未定义 callGA。这是我的代码:

function trackPageview(id, countryCity, unique, bu, bg, areaClick, uri) {
setTimeout("callGA('" + id + "','" + countryCity + "','" + unique + "','" + bu + "','" + bg + "','" + areaClick + "','" + uri +"')", 1);
}

function callGA(id, countryCity, unique, bu, bg, areaClick, uri) {
_gaq.push([ '_setAccount', id ]);
_gaq.push([ '_setCustomVar', 1, 'Location', countryCity, 3 ]);
_gaq.push([ '_setCustomVar', 2, 'Unique', unique, 3 ]);
_gaq.push([ '_setCustomVar', 3, 'BU', bu, 3 ]);
_gaq.push([ '_setCustomVar', 4, 'BG', bg, 3 ]);
_gaq.push([ '_setCustomVar', 5, 'Portlet', areaClick, 3 ]);
if (uri) { _gaq.push([ '_trackPageview', uri ]); } else { _gaq.push([ '_trackPageview' ]); }
};

trackPageviews 在许多地方被调用。我已在此处发出警报,没问题,问题出在 setTimeout 行上。

如有任何帮助,我们将不胜感激。

最佳答案

setTimeout中的action最好不要引用。它使用 eval(),这有点困惑(而且实践不佳)。最好使用匿名函数。

setTimeout(function() {
callGA(id,countryCity,unique,bu,bg,areaClick,uri)
}, 1);

关于javascript - 使用 setTimeout 调用函数的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7598543/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com