Можно ли проверить значение Firefox DNT с помощью JavaScript?
Я работаю над рекламным движком javascript и хотел бы, чтобы он уважал заголовок Firefox DNT.
Есть ли способ, которым javascript может проверить, установил ли пользователь включение или выключение DNT в Firefox (или не задал никаких предпочтений), не обращаясь за помощью к серверу?
1 ответ
Я думаю, что вы ищете navigator.doNotTrack
:
console.log(window.navigator.doNotTrack);
// prints "yes" if DNT is enabled; otherwise this is "unspecified" in Firefox
MDN объясняет, что в Firefox:
Когда заголовок "не отслеживать" отправляет "1",
navigator.doNotTrack
Да". Когда заголовок не установлен,navigator.doNotTrack
является "неопределенным". Когда заголовок отправляет "0" (в настоящее время не поддерживается в Firefox),navigator.doNotTrack
нет".
В других браузерах:
IE9, Opera 12 и Safari 5.1 основаны на более ранней версии этой спецификации, где navigator.doNotTrack - это значение, отправляемое для заголовка "не отслеживать".
IE9 использует префикс поставщика, т.е.
navigator.msDoNotTrack
Итак, вы можете обнаружить DNT в целом, выполнив:
var isDNT = navigator.doNotTrack == "yes" || navigator.doNotTrack == "1" ||
navigator.msDoNotTrack == "1";