仅Javascript检测到;“不跟踪”;IE11中的设置

仅Javascript检测到;“不跟踪”;IE11中的设置,javascript,internet-explorer-11,Javascript,Internet Explorer 11,我想尊重所有只使用javascript的浏览器中的DNT设置(我没有服务器端访问主机服务器的权限)。我从你那里得到了以下信息 这适用于除IE11(特别是11.0.9600.16428 run-through[)之外的所有浏览器,IE11似乎不符合上述任何BOM属性(我尝试通过Internet选项>高级>安全设置DNT首选项:“始终发送不跟踪标题”以及通过安全设置>打开跟踪保护) 其他人是否可以确认这是正确的(即IE11中的一个bug),或者建议使用JS-only方法来检测这些设置 短暂性脑缺血发

我想尊重所有只使用javascript的浏览器中的DNT设置(我没有服务器端访问主机服务器的权限)。我从你那里得到了以下信息

这适用于除IE11(特别是11.0.9600.16428 run-through[)之外的所有浏览器,IE11似乎不符合上述任何BOM属性(我尝试通过Internet选项>高级>安全设置DNT首选项:“始终发送不跟踪标题”以及通过安全设置>打开跟踪保护)

其他人是否可以确认这是正确的(即IE11中的一个bug),或者建议使用JS-only方法来检测这些设置

短暂性脑缺血发作
Ben

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

根据这一点,从IE11开始:“标准已更新”,将
doNotTrack
属性放在
窗口
对象上

并不是所有的浏览器都是最新的,只有IE11和Safari 6.1.1+在这个时候按照这个更新了


在撰写本文时,Mozilla就doNotTrack是否应该是window或navigator属性给出了最新消息。

有趣的是,它准确地反映了跟踪保护中的设置(即启用时返回true),但它仍然是false(正如您所预期的那样)当启用安全>打开跟踪保护时。我怀疑MS忽略了为其UI设置实现BOM属性,从而使“DNT”设置只能通过标题检测(因此在JS中不可检测)@Ben先生,也许你是对的,那可能是一个bug。跟踪保护和安全>打开跟踪保护之间真的应该有区别吗?两个不都应该做相同的事情吗?只是问一下,直到现在我才真正听说过这个设置。我已经将其标记为正确,因为这似乎是推断跟踪的唯一方法IE11中的保护首选项,直到navigator.doNotTrack被修复!除非有人能直接告诉我…谢谢Hexalys-听起来很可能-我会尝试一下
var isDNT = navigator.doNotTrack == "yes" || navigator.doNotTrack == "1" || navigator.msDoNotTrack == "1";