Is it possible to check the value of Firefox DNT with javascript?

前端 未结 1 1802
傲寒
傲寒 2021-02-04 16:37

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

1条回答
  •  栀梦
    栀梦 (楼主)
    2021-02-04 17:26

    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";
    

    0 讨论(0)
提交回复
热议问题