Javascript只检测"不跟踪"IE11的设置

Javascript only detection of "Do not track" settings in IE11

本文关键字:quot IE11 设置 跟踪 Javascript 检测      更新时间:2023-09-26

我想只使用javascript尊重DNT设置在所有浏览器(我没有服务器端访问主机服务器)。我从https://stackoverflow.com/a/16947583/266960

得到了以下内容
var isDNT = navigator.doNotTrack == "yes" || navigator.doNotTrack == "1" || navigator.msDoNotTrack == "1";

这适用于所有浏览器,但IE11(特别是11.0.9600.16428通过[http://spoon.net/]运行),这似乎不尊重任何上述BOM属性(我尝试通过Internet选项>高级>安全设置DNT首选项:"始终发送一个不跟踪头",也通过安全>打开跟踪保护)。

有没有人能确认这是正确的(即IE11中的错误),或者建议一个仅使用JS的方法来检测这些设置?

TIA本

根据微软的回答:"标准更新了",从IE11开始,将doNotTrack属性放在window对象上。

并不是所有的浏览器都更新了这个,只有IE11和Safari 6.1.1+根据这个窗口属性表进行了更新。

写这篇文章的时候,关于doNotTrack应该是一个窗口属性还是一个导航器属性,Mozilla还在争论。

您是否尝试过window.external.msTrackingProtectionEnabled(),它返回布尔值并在IE 9/10中实现。我现在无法测试,但可能在IE 11中也支持。

http://ie.microsoft.com/TEStdrive/Browser/DoNotTrack/Default.html