是否可以使用javascript检查Firefox DNT的值?

Ars*_*ray 8 javascript firefox do-not-track

我正在开发一个javascript广告引擎,我希望它能够尊重Firefox DNT标题.

有什么方法javascript可以检查用户是否在没有得到服务器帮助的情况下在firefox中设置DNT为开启或关闭(或者没有设置首选项)?

aps*_*ers 11

我想你正在寻找navigator.doNotTrack:

console.log(window.navigator.doNotTrack); 
// prints "yes" if DNT is enabled; otherwise this is "unspecified" in Firefox
Run Code Online (Sandbox Code Playgroud)

MDN在Firefox中解释说:

当do-not-track标头发送"1"时,navigator.doNotTrack为"是".标题未设置时,navigator.doNotTrack"未指定".当标题发送"0"(当前在Firefox中不支持)时,navigator.doNotTrack为"否".

在其他浏览器中:

IE9,Opera 12和Safari 5.1基于此规范的早期版本,其中navigator.doNotTrack是为do-not-track标头发送的值.

IE9使用供应商前缀,即 navigator.msDoNotTrack

因此,您可以通过执行以下操作来检测DNT:

var isDNT = navigator.doNotTrack == "yes" || navigator.doNotTrack == "1" || 
              navigator.msDoNotTrack == "1";
Run Code Online (Sandbox Code Playgroud)