uncaught RangeError: Maximum call stack size exceeded when using Facebook Pixel
uncaught RangeError: Maximum call stack size exceeded when using Facebook Pixel
在我的 Laravel 应用程序中,我使用 Facebook Pixel 进行一些跟踪。一种这样的跟踪指标是表单提交。
$("#emailConfirmation").on("submit", function(e) {
var eventId = {{ $event->id }};
if (eventId === 87 || eventId === 88 || eventId === 89) {
e.preventDefault();
fbq('track', 'Lead', {
content_name: 'Email confirmation',
content_category: 'Form submission'
});
$("#emailConfirmation").submit();
}
});
这样做的目的是,如果传递给视图的 $event
具有特定 ID,则阻止提交表单,然后将潜在客户发送到 Facebook Pixel 分析,然后提交表单。
相反,我收到以下错误:
uncaught RangeError: Maximum call stack size exceeded
问题是因为您通过在 submit
事件处理程序中引发 submit
事件来创建无限递归。
要解决此问题,请引发本机 form
元素的提交事件,而不是 jQuery 对象:
$("#emailConfirmation").on("submit", function(e) {
var eventId = {{ $event -> id}};
if (eventId === 87 || eventId === 88 || eventId === 89) {
e.preventDefault();
fbq('track', 'Lead', {
content_name: 'Email confirmation',
content_category: 'Form submission'
});
this.submit(); // change here
}
});
在我的 Laravel 应用程序中,我使用 Facebook Pixel 进行一些跟踪。一种这样的跟踪指标是表单提交。
$("#emailConfirmation").on("submit", function(e) {
var eventId = {{ $event->id }};
if (eventId === 87 || eventId === 88 || eventId === 89) {
e.preventDefault();
fbq('track', 'Lead', {
content_name: 'Email confirmation',
content_category: 'Form submission'
});
$("#emailConfirmation").submit();
}
});
这样做的目的是,如果传递给视图的 $event
具有特定 ID,则阻止提交表单,然后将潜在客户发送到 Facebook Pixel 分析,然后提交表单。
相反,我收到以下错误:
uncaught RangeError: Maximum call stack size exceeded
问题是因为您通过在 submit
事件处理程序中引发 submit
事件来创建无限递归。
要解决此问题,请引发本机 form
元素的提交事件,而不是 jQuery 对象:
$("#emailConfirmation").on("submit", function(e) {
var eventId = {{ $event -> id}};
if (eventId === 87 || eventId === 88 || eventId === 89) {
e.preventDefault();
fbq('track', 'Lead', {
content_name: 'Email confirmation',
content_category: 'Form submission'
});
this.submit(); // change here
}
});