当前位置:  开发笔记 > 编程语言 > 正文

等待Facebook Pixel Load

如何解决《等待FacebookPixelLoad》经验,为你挑选了1个好方法。

我想在我的JavaScript代码中检测到Facebook像素的负载已经完成.这可能吗?

这里参考Facebook Pixel Tracking代码:


 

将其分解,似乎fbq('init', ...)会导致script使用async属性集添加标记并将其src设置为//connect.facebook.net/en_US/fbevents.js.

随后调用以fbq('track', ...)某种方式GET通过一次重定向导致HTTP 到图像.

如何检测所有步骤是否完整,尤其是最终图像加载完成?



1> Kelly Selden..:

我为此刺了一下。给定一个名为的回调函数myCallback和一个名为的私有ID myId,请使用以下代码:

  (function wait() {
    // check for the generic script
    // easiest check to prevent race condition
    if (fbq.version > '2.0') {
      // now check for the custom script
      // `fbq.on` is now ready (`fbq.once` would be better but has a bug)
     fbq.on('configLoaded', function (name) {
        if (name === myId) {
          myCallback();
        }
      });
    } else {
      setTimeout(wait, 10);
    }
  })();

myCallback一切准备就绪后将被调用。截至fbq.version="2.7.17";

参考https://github.com/poteto/ember-metrics/pull/151


@naviram谢谢。我通过最小化并阅读其来源找到了它。不幸的是,这些东西不在他们的文档中。
听所有-[Kelly Selden](/sf/ask/17360801/)摇滚。这是准确的答案,并且是整个网络中唯一的答案,我找不到有关此事件的任何参考/文档,只有像素的请求中返回了JS的脚本文件。如果有参考文献,请分享。
推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有