Javascript _AJAX表单提交成功后,jQuery不会触发gaq.push([';"trackEvent';)
我正在尝试使用Google Analytics的“gaq.push”([''u trackEvent')跟踪联系人提交事件,以跟踪联系人转换,而不显示任何结果 联系人表单通过FancyBox对话框显示,并通过AJAX提交。成功提交后,表单将被消息替换,因此为了更好地使用,我会调整FancyBox窗口的大小,并确保用户通过滚动到顶部看到消息(请参阅下面的附加代码) 表单使用Drupal表单API呈现,并使用Javascript _AJAX表单提交成功后,jQuery不会触发gaq.push([';"trackEvent';),javascript,jquery,ajax,forms,google-analytics,Javascript,Jquery,Ajax,Forms,Google Analytics,我正在尝试使用Google Analytics的“gaq.push”([''u trackEvent')跟踪联系人提交事件,以跟踪联系人转换,而不显示任何结果 联系人表单通过FancyBox对话框显示,并通过AJAX提交。成功提交后,表单将被消息替换,因此为了更好地使用,我会调整FancyBox窗口的大小,并确保用户通过滚动到顶部看到消息(请参阅下面的附加代码) 表单使用Drupal表单API呈现,并使用Drupal\u json()提交 基本上,我的代码如下所示: $(document).re
Drupal\u json()
提交
基本上,我的代码如下所示:
$(document).ready(function(){
$("#contacts a").fancybox();
// after submit I need to resize the fancybox window
$("#contact-mail-page").bind("submit", function() {
$.fancybox.resize();
});
$(document).ajaxComplete(function(event, xhr, settings) {
if ( settings.url === "/feedback" ) {
$('html, body').animate({scrollTop:0}, 'slow');
// rec event
_gaq.push(['_trackEvent', 'action', 'contact', 'site feedback', '1']);
}
});
为什么在成功提交AJAX表单后,\u gaq.push([''u trackEvent'
不会从jQuery触发
答复
_gaq.push\u trackEvent\u trackEvent API需要参数3的数值。给定的参数(1)是字符串。当您
console.log(设置)时
在ajaxComplete
回调中,您有什么?设置变量是什么?它是传递到函数中的第三个参数。在询问我们错误之前,最好先了解您正在使用的代码的实际功能。您认为settings.url不是/feedback吗?它是/feedbackfrom console.log(settings)输出基于最后一条注释,将执行ajaxComplete
内的if
块。您是否看到if内发生的任何javascript错误?如果没有看到任何错误,则根据您提供的代码,将执行有问题的行,问题可能不是该行没有被调用艾德,但是还有别的问题。