I\'m working on a javascript advertising engine, and I would like for it to respect Firefox DNT header.
Is there any way javascript can check if the user has set DNT to
I think you're looking for navigator.doNotTrack:
console.log(window.navigator.doNotTrack);
// prints "yes" if DNT is enabled; otherwise this is "unspecified" in Firefox
MDN explains that in Firefox:
When the do-not-track header sends "1",
navigator.doNotTrack
is "yes". When the header is unset,navigator.doNotTrack
is "unspecified". When the header sends "0" (currently unsupported in Firefox),navigator.doNotTrack
is "no".
In other browsers:
IE9, Opera 12, and Safari 5.1 are based on an earlier version of this specification where navigator.doNotTrack is the value sent for the do-not-track header.
IE9 uses a vendor prefix, i.e.,
navigator.msDoNotTrack
So, you might detect DNT in general by doing:
var isDNT = navigator.doNotTrack == "yes" || navigator.doNotTrack == "1" ||
navigator.msDoNotTrack == "1";