facebook像素功能不会在单独的js文件中触发

时间:2019-06-13 07:48:45

标签: javascript php laravel facebook-pixel

我正在使用laravel 5.8,并且在product.blade.php中,我在产品页面底部使用了针对Facebook像素AddToCart事件的这种方法,并且可以使用:

   <script>
    $("#addToCart").on('click', function(){
                @if(env('APP_ENV') == 'production')                 
                    fbq('track', 'AddToCart', {
                        // data
                    });
                @endif
                $.ajax({
                    // post to the server
                });
            });
     </script>

但是现在我想以其他方式使用。我想在product.blade.php中创建一个函数,以从控制器获取数据并仅在主javascript文件中正在生产该应用程序时才调用该函数(以使代码更简洁):

如果使用此方法,则现在在页面底部:

@if(env('APP_ENV') == 'production')
    <script>
        function fb_addToCart(){           
            fbq('track', 'AddToCart', {
                // data
            });
        }
    </script>
@endif
<script src="main.js"></script>

在main.js中,我具有单击按钮事件处理程序:

$(document).ready(function () {
    // other code
    $('#addToCart').on('click', function (e) {
        e.preventDefault();
        // call this function ONLY if the app is in production
        if(typeof fb_addToCart === 'function'){
            fb_addToCart();
        }
        $.ajax({
            // post to the server
        });
    });
});

facebook像素事件未触发。如果应用程序处于生产模式,则if语句触发。

为什么facebook事件不会以这种方式触发??

0 个答案:

没有答案