Задать вопрос

Как узнать, активизирована ли у пользователя функция — без перекрестного отслеживания?

У меня стоит задача узнать, активирована ли у пользователя данная функция.
5d77826c5d530026878151.png

Подскажите, как можно узнать это?
  • Вопрос задан
  • 398 просмотров
Подписаться 4 Средний Комментировать
Решения вопроса 1
lazalu68
@lazalu68
Salmon
Насколько я понял, в window.navigator об этом никакой инфы нету. А раз нету, то придётся по каким-то конкретным признакам определять запрещает ли браузер отслеживание, например через печенюхи. В любом случае, из найденных материалов мне показалось, что опция "Prevent cross site tracking" просто врубает ITP 2.x, о котором в интернетах достаточно инфы. Один из способов который я вижу основывается на том, что фрейм обращающийся к подконтрольному вам ресурсу сообщает родительскому документу получилось ли у него достучаться до каких-то важных печенюх или нет.

ЗЫ: либо я нашел решение, либо одно из трёх - ITP 2.0 вводит метод document.hasStorageAccess, соответственно можно проверять какое значение возвращает этот метод и уже от этого плясать. Вот тут чувак накатал небольшой скрипт для подобной проверки. Проверил на восьмом ифоне этот метод, он возвращает false если опция "Prevent cross site tracking" выключена, и true - если включена.

Если "Prevent cross site tracking" это действительно только об ITP 2.0 и вдобавок я нигде не ошибаюсь в рассуждениях, то функция проверки может выглядеть как-то так:

async function ITPIsActive() {
	if (document.hasStorageAccess && document.requestStorageAccess) {
        const access = await new Promise(function(res, rej) {
            document.hasStorageAccess().then(res, rej).catch(rej);
        });

        return access;
    } else {
        return false;
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы