在提交到Facebook Pixel的Javascript函数上单击“未触发”

在提交到Facebook Pixel的Javascript函数上单击“未触发”,javascript,jquery,facebook,Javascript,Jquery,Facebook,下面的代码跟踪元素的点击次数,然后将结果提交给Facebook Pixel。但是,由于某些原因,该事件不会触发 虽然这是一个可变范围的问题,但它将countClicks更改为global,但没有改变任何东西 $(document).ready(function () { if(window.location.href.indexOf("products") > -1) { var countClicks = 0; $(".product-single__th

下面的代码跟踪元素的点击次数,然后将结果提交给Facebook Pixel。但是,由于某些原因,该事件不会触发

虽然这是一个可变范围的问题,但它将countClicks更改为global,但没有改变任何东西

$(document).ready(function () {
  if(window.location.href.indexOf("products") > -1) {    

    var countClicks = 0;

    $(".product-single__thumbnail-image").click(function () {
        countClicks++;  
      });

    function firePixelSlideshowView() {
      fbq('trackCustom', "ProductSlideshowImageView", {
        imageView: countClicks,
      });
    }

    window.onbeforeunload = function () {
        firePixelSlideshowView();   
            return null;
        }
    }
});

我通过使用jQuery卸载函数而不是普通的Javascript解决了这个问题,它成功了。

Hi,我建议对更具体的标题进行编辑。那么它到底在哪里不起作用呢?现在,我们甚至不知道是否正确调用了FirefixelSlideShowView函数,或者jquery事件侦听器是否不适合您。然后,您需要检查浏览器控制台是否存在错误/警告。如果有什么事情发生,您可以查看网络选项卡。请先调试您的代码。如果我知道如何在StackOverflow上完成所有我不想问的事情:投票否决新手的方式,谢谢。不确定在beforeunload处理程序中尝试启动需要发出HTTP请求的函数是否是一个好主意。当主窗口被导航到其他地方时,浏览器倾向于取消挂起的请求。