Jedním z nevyřčených pravidel internetu je, že většina obsahu je „zdarma“... za cenu toho, že webové stránky budou posety reklamami a sledovači. V prvních dnech internetu to nebyl velký problém, ale sledovače a reklamy se staly tak rušivými a neomluvitelně agresivními, že téměř musíte použít rozšíření prohlížeče pro blokování reklam.
Ad Blocker Plus je velmi populární a prohlížeč jako Brave se může pochlubit tím, že je zaměřen na blokování reklam. Často půjdu na web a uvidím způsob, jak deaktivovat blokování reklam, což mě přivedlo k přemýšlení o nejlepším způsobu, jak blokování reklam zjistit. Po různých testech a experimentech jsem našel opravdu jednoduchý způsob, jak detekovat blokovač reklam!
Moje metoda se v podstatě pokouší načíst soubor JavaScript reklamní služby Google, a pokud se požadavek nezdaří, je to pravděpodobně způsobeno tím, že uživatel má blokovač reklam:
// Determines if the user is likely using an ad block extension async function checkAdBlocker() { // Used to cache the result let isBlocked; async function tryRequest() { try { return fetch( new Request("https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js", { method: 'HEAD', mode: 'no-cors' })) .then(function(response) { // Google Ads request succeeded, so likely no ad blocker isBlocked = false; return isBlocked; }).catch(function(e) { // Request failed, likely due to ad blocker isBlocked = true; return isBlocked; }); } catch (error) { // fetch API error; possible fetch not supported (old browser) // Marking as a blocker since there was an error and so // we can prevent continued requests when this function is run console.log(error); isBlocked = true; return isBlocked; } } return isBlocked !== undefined ? isBlocked : await tryRequest(); } // Using the ad block checker const usingBlocker = await checkAdBlocker();
Logika za tím je následující:
- Soubor reklamy Google,
adsbygoogle.js
, je perfektní ukázkový soubor, protože je považován za nepřítele číslo 1 – první soubor, který by chtěl blokovač reklam zablokovat kvůli popularitě reklamních služeb Google - Soubor je také prvořadý pro podnikání společnosti Google, takže je prakticky zaručena 99,999999999% dostupnost
- Je malá šance, že by do hry vstoupil problém se sítí; falešné poplachy mohou pocházet z problémů s připojením k síti nebo ze špatného servisního pracovníka
- Pokud neuvažujete
adsbygoogle.js
váš nejlepší ukázkový soubor, můžete jej snadno přepnout na jakoukoli jinou adresu URL
Z pohledu tvůrce obsahu navigator
vlastnost, která by vám dala vědět, zda byl použit blokovač reklam, by byla ideální...ale to se v dohledné době nestane (...nikdy, opravdu). Použití jednoduchých úryvků, jako je tento, však poskytuje rozumnou nápovědu k tomu, aby uživatel aktivoval blokování reklam!