makefuture / games / accept-the-cookie / game / systems / adblock.js
86 words
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
export function detectAdblock(session) {
    if (!session.consent.analytics) {
        session.adblock = { detected: null, tested: false, reason: 'Not tested: analytics cookies rejected' };
        return session.adblock;
    }

    const bait = document.createElement('div');
    bait.className = 'adsbox ad-banner google-ad doubleclick advertisement';
    bait.style.cssText = 'position:absolute;left:-10000px;top:-10000px;width:1px;height:1px;';
    document.body.appendChild(bait);

    const style = window.getComputedStyle(bait);
    const detected = bait.offsetParent === null || bait.offsetHeight === 0 || style.display === 'none' || style.visibility === 'hidden';
    bait.remove();

    session.adblock = {
        detected,
        tested: true,
        reason: detected ? 'Ad bait element was hidden' : 'Ad bait element remained visible',
    };
    return session.adblock;
}

static mirror of HEAD · about · clone: git clone https://git.makefuture.ro/makefuture.git