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