tracking - 在 localhost 和开发服务器上停止 Facebook Pixel 跟踪
问题描述
我正在使用 Facebook Pixel 在我的网站上进行跟踪。
<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', 'xxxxxxxxxxxxx');
fbq('track', 'PageView');
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=320956065128864&ev=PageView&noscript=1"
/></noscript>
任何停止或过滤(如 GA 过滤器)的解决方案不包括域或 IP?谢谢。
解决方案
添加 FB 像素的代码片段首先检查是否已添加 FB 像素,方法是检查变量fbq
:
if(f.fbq)return;
因此,从初始注入中跳过 FB 像素脚本的最简单方法是fbq
在 FB 片段之前定义变量。
<script>
const list = ['localhost'];
if (list.includes(window.location.hostname)) {
window.fbq = function() {};
}
// ...original Facebook Pixel code here
</script>
将任何域添加到list
数组以阻止 FB 像素执行。
推荐阅读
- events - 移动传单地图时工具提示消失
- sql - 链接服务器“(null)”的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”返回消息“JOIN 操作中的语法错误。”
- python - 没有找到cupy卷积
- java - 如何使对象符合从对象内部进行垃圾收集的条件?
- c - perl Inline::C 是否支持多个依赖的 C 文件?
- javascript - 使用 SHA1 合并后无法并行 git push
- python - 每次运行代码时是否可以一一返回列表的元素?
- linux - 脚本和命令行中 md5 总和的不同值
- javascript - 使用 Tab 键将焦点设置在有角度的材质上
- javascript - 如何保存最后一个元素并扩展到它?