IE11中仅使用Javascript检测“不追踪”设置

3

我希望只用javascript就能够尊重所有浏览器中的DNT设置(我不能访问主机服务器的服务器端)。我从https://dev59.com/5nLYa4cB1Zd3GeqPdvl3#16947583得到以下内容。

var isDNT = navigator.doNotTrack == "yes" || navigator.doNotTrack == "1" || navigator.msDoNotTrack == "1";

这在所有浏览器中都有效,但是在IE11(特别是11.0.9600.16428通过[http://spoon.net/]运行),似乎没有遵守上述任何BOM属性(我尝试通过Internet Options > Advanced > Security:"Always send a do not track header"和Safety > Turn on tracking protection来设置DNT首选项)。
有人可以确认这是正确的(即IE11中的一个错误),还是建议使用JS方法来检测这些设置?
谢谢 Ben
2个回答

5

谢谢Hexalys - 听起来很有可能 - 我会试一下的。 - Mr Benn

0

有趣的是,这准确地反映了跟踪保护中的设置(即在启用时返回true),但当启用“安全”>“启用跟踪保护”时,它仍然为false(实际上您期望的结果)。我怀疑微软忽略了在其UI设置中实现BOM属性,因此只能通过标头检测“DNT”设置(而不是在JS中)。 - Mr Benn
@MrBen或许你是对的,这可能是一个bug。隐私保护和安全>开启追踪保护真的应该有区别吗?它们不都应该做同样的事情吗?只是问问,我直到现在都从未听说过这个设置。 - plalx
我已将此标记为正确,因为在修复navigator.doNotTrack之前,这似乎是推断IE11中跟踪保护首选项的唯一方法!除非有人能纠正我... - Mr Benn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接