Firefox 跟踪保护
什么是跟踪保护?
Firefox 桌面版和 Firefox for Android 包含内置的跟踪保护功能。在隐私浏览窗口(选项卡,在 Firefox for Android 中),Firefox 将阻止从跨站点跟踪用户(即通过 第三方 Cookie)的域加载的内容。
如果被阻止的内容是页面布局的一部分,用户可能会注意到 Firefox 阻止这些加载导致的布局问题。有时用户根本不会注意到,如果页面网格工作方式使得其他页面元素滑动以填充被阻止元素留下的空位。
当 Firefox 阻止内容时,它会向 Web 控制台记录如下消息
The resource at "http://some/url" was blocked because tracking protection is enabled.
请注意,对于 Firefox for Android,您可以使用远程调试器访问控制台输出。
点击地址栏中的ⓘ符号以查看有关当前加载页面的信息。出现的弹出窗口将在内容被阻止时通知您。您还可以选择通过访问跟踪设置完全禁用跟踪保护。
如果存在跟踪 Cookie,您可以通过点击上图中的“阻止跟踪 Cookie”查看以下弹出窗口来查看列表
您可以点击“管理内容阻止”来更改阻止设置
Firefox 如何选择要阻止的内容?
内容根据要从中加载的域进行阻止。
Firefox 附带了一个站点列表,这些站点已被识别为参与跨站点用户跟踪。启用跟踪保护后,Firefox 会阻止来自列表中站点的內容。
跟踪用户的站点最常见的是第三方广告和分析站点。
这对您的网站意味着什么?
主要的是,这意味着当启用跟踪保护时
- 来自第三方跟踪器的內容将对用户不可见。
- 您的网站将无法使用参与跟踪的第三方广告或分析服务。
更微妙的是,如果网站的其他部分依赖于加载跟踪器,那么在启用跟踪保护时,这些部分也会出现故障。例如,如果您的网站包含在加载来自跟踪站点的內容时运行的回调,则该回调将不会执行。
例如,您不应以以下方式使用 Google Analytics
<a
href="http://www.example.com"
onclick="trackLink('http://www.example.com', event);">
Visit example.com
</a>
<script>
function trackLink(url, event) {
event.preventDefault();
ga("send", "event", "outbound", "click", url, {
transport: "beacon",
hitCallback() {
document.location = url;
},
});
}
</script>
相反,您应该通过检查 ga 对象是否已初始化来考虑 Google Analytics 丢失的情况
<a
href="http://www.example.com"
onclick="trackLink('http://www.example.com', event);">
Visit example.com
</a>
<script>
function trackLink(url, event) {
event.preventDefault();
if (window.ga && ga.loaded) {
ga("send", "event", "outbound", "click", url, {
transport: "beacon",
hitCallback() {
document.location = url;
},
});
} else {
document.location = url;
}
}
</script>
有关此技术的更多信息,请访问 Google Analytics、隐私和事件跟踪。
注意:以这种方式依赖第三方本身也不是一个好习惯,因为如果第三方速度慢或不可用,或者跟踪器已被附加组件阻止,则您的网站可能会出现故障。