Javascript facebook pixel的明确和直接代码是什么

Javascript facebook pixel的明确和直接代码是什么,javascript,html,facebook,facebook-pixel,Javascript,Html,Facebook,Facebook Pixel,(我仍在改进这个问题,请随意为我更好地表达我的问题。我已经完成了我自己的答案,这将有助于更好地构建这个问题) 显式-在这种情况下表示“直接”。Facebook提供的一个是小型化的,包括一个延迟脚本标记注入器 这是如何分解成逻辑部分的,这些逻辑部分可以更明确地编码,而无需缩小,也无需延迟的脚本加载?如何直接包含的脚本标记 当前规定区块: <!-- Facebook Pixel Code --> <script> !function(f,b,e,v,n,t,s) {i

(我仍在改进这个问题,请随意为我更好地表达我的问题。我已经完成了我自己的答案,这将有助于更好地构建这个问题)

显式-在这种情况下表示“直接”。Facebook提供的一个是小型化的,包括一个延迟脚本标记注入器

这是如何分解成逻辑部分的,这些逻辑部分可以更明确地编码,而无需缩小,也无需延迟的脚本加载?如何直接包含的脚本标记

当前规定区块:

<!-- Facebook Pixel Code -->
<script>
  !function(f,b,e,v,n,t,s)
  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  n.queue=[];t=b.createElement(e);t.async=!0;
  t.src=v;s=b.getElementsByTagName(e)[0];
  s.parentNode.insertBefore(t,s)}(window, document,'script',
  'https://connect.facebook.net/en_US/fbevents.js');
  fbq('init', 'your-pixel-id-goes-here');
  fbq('track', 'PageView');
</script>
<noscript>
  <img height="1" width="1" style="display:none" 
       src="https://www.facebook.com/tr?id=your-pixel-id-goes-here&ev=PageView&noscript=1"/>
</noscript>
<!-- End Facebook Pixel Code -->
<!-- Facebook Pixel Code -->
<script>
  !function(f,b,e,v,n,t,s)
  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  n.queue=[];t=b.createElement(e);t.async=!0;
  t.src=v;s=b.getElementsByTagName(e)[0];
  s.parentNode.insertBefore(t,s)}(window, document,'script',
  'https://connect.facebook.net/en_US/fbevents.js');
  fbq('init', 'your-pixel-id-goes-here');
  fbq('track', 'PageView');
</script>
<noscript>
  <img height="1" width="1" style="display:none" 
       src="https://www.facebook.com/tr?id=your-pixel-id-goes-here&ev=PageView&noscript=1"/>
</noscript>
<!-- End Facebook Pixel Code -->

!函数(f,b,e,v,n,t,s)
{if(f.fbq)返回;n=f.fbq=function(){n.callMethod?
n、 apply(n,参数):n.queue.push(参数)};
如果(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n、 队列=[];t=b.createElement(e);t.async=!0;
t、 src=v;s=b.getElementsByTagName(e)[0];
s、 parentNode.insertBefore(t,s)}(窗口,文档,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init','your pixel id在这里');
fbq(“轨迹”、“页面视图”);
为什么需要显式的
版本:

  • 效率——这可能意味着很多事情
  • 冗长清晰
  • 教育-学习这些脚本是如何工作的,以及你可以如何做你自己的
  • 集成-您可能有类似于SquareSpace的东西,您可以接受像素id作为“Facebook”集成的参数

我计划为自己使用一个工作答案。因此,请不要回答“你不想要这个,因为我不想要这个”之类的话。

从2019-06-24起,考虑到当前的规定区块:

<!-- Facebook Pixel Code -->
<script>
  !function(f,b,e,v,n,t,s)
  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  n.queue=[];t=b.createElement(e);t.async=!0;
  t.src=v;s=b.getElementsByTagName(e)[0];
  s.parentNode.insertBefore(t,s)}(window, document,'script',
  'https://connect.facebook.net/en_US/fbevents.js');
  fbq('init', 'your-pixel-id-goes-here');
  fbq('track', 'PageView');
</script>
<noscript>
  <img height="1" width="1" style="display:none" 
       src="https://www.facebook.com/tr?id=your-pixel-id-goes-here&ev=PageView&noscript=1"/>
</noscript>
<!-- End Facebook Pixel Code -->
<!-- Facebook Pixel Code -->
<script>
  !function(f,b,e,v,n,t,s)
  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  n.queue=[];t=b.createElement(e);t.async=!0;
  t.src=v;s=b.getElementsByTagName(e)[0];
  s.parentNode.insertBefore(t,s)}(window, document,'script',
  'https://connect.facebook.net/en_US/fbevents.js');
  fbq('init', 'your-pixel-id-goes-here');
  fbq('track', 'PageView');
</script>
<noscript>
  <img height="1" width="1" style="display:none" 
       src="https://www.facebook.com/tr?id=your-pixel-id-goes-here&ev=PageView&noscript=1"/>
</noscript>
<!-- End Facebook Pixel Code -->

!函数(f,b,e,v,n,t,s)
{if(f.fbq)返回;n=f.fbq=function(){n.callMethod?
n、 apply(n,参数):n.queue.push(参数)};
如果(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n、 队列=[];t=b.createElement(e);t.async=!0;
t、 src=v;s=b.getElementsByTagName(e)[0];
s、 parentNode.insertBefore(t,s)}(窗口,文档,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init','your pixel id在这里');
fbq(“轨迹”、“页面视图”);
有4个不同的部分:

  • 窗口变量和双重安装冲突。默认代码似乎以异步方式加载脚本,并设置fbq函数将命令排队,直到加载脚本为止
  • 包含依赖脚本标记
  • 使用fbq命令初始化和跟踪页面视图
  • 如果不支持javascript,则加载图像
  • 假设您对网页内容拥有完全控制权,并且您知道不会重复尝试加载facebook像素,则可以通过以下方式更明确地部署:

    1) 将此脚本加载放在head部分的以下内容之前

    <script async src="https://connect.facebook.net/en_US/fbevents.js"></script>
    
    
    
    2) 将此脚本代码的变量块放在[1]后面的标题中

    <script>
      !function(f,b,e,v,n,t,s)
      {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
      n.callMethod.apply(n,arguments):n.queue.push(arguments)};
      if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
      n.queue=[];}(window, document,'script'); //Same as usual but with the script injection part removed.
    
      fbq('init', 'your-pixel-id-goes-here');
      fbq('track', 'PageView');
    </script>
    
    
    !函数(f,b,e,v,n,t,s)
    {if(f.fbq)返回;n=f.fbq=function(){n.callMethod?
    n、 apply(n,参数):n.queue.push(参数)};
    如果(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
    n、 队列=[];}(窗口、文档、“脚本”)//与往常一样,但删除了脚本注入部分。
    fbq('init','your pixel id在这里');
    fbq(“轨迹”、“页面视图”);
    
    3) 将此noscript部分放在正文的末尾

    <noscript>
      <img height="1" width="1" style="display:none" 
           src="https://www.facebook.com/tr?id=your-pixel-id-goes-here&ev=PageView&noscript=1"/>
    </noscript>
    
    
    
    (测试成功)