Tracking Protection

翻译不完整。 请帮助我们翻译这篇文章!

什么是跟踪保护?

Firefox 浏览器桌面版和 Android 移动版内置跟踪保护。在隐私窗口或标签页(Android移动版)内,Firefox会阻止跨网站的内容加载。

如果拦截的内容是网页的一部分,用户可能会注意到网页排版出现问题。如果页面上的其它元素把拦截内容的空位给填补上时,用户完全不会注意到 Firefox 浏览器阻止了一些内容加载。

当 Firefox 浏览器拦截到内容时,在控制台会有类似这样一条日志消息:

位于“http://some/url”的资源已被内容拦截功能拦截。

Firefox 浏览器 Android 移动版需要使用远程调试来看到控制台的输出内容。

Page information showing possible blocked content.

点下地址栏左侧这个标志ⓘ 可以查看当前页面的信息。按下第一行的按钮可以关闭对当前网站的跟踪保护。

如果存在跟踪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': function() { 
       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': function() { document.location = url; }
       });
    } else {
        document.location = url;
    }
}
</script>

关于这项技术的更多信息可以在Google分析、隐私和事件跟踪上找到。

注意:以这种方式依赖第三方并不是一个好的做法,因为如果第三方速度慢或不可用,或者跟踪器已被加载项阻止,则站点可能会被破坏。