Domanda

desidero rilevare adblocking software sul mio sito e chiedere agli utenti di disabilitare AdBlock reindirizzando. L'unico modo che ho trovato stava usando Javascript.

  1. C'è un altro modo di rilevamento?

  2. Se no, come faccio a rilevare se Javascript è disattivato e li reindirizza ad una certa pagina?

È stato utile?

Soluzione

Non puoi in realtà "rilevare" se javascript è disattivato. Dal momento che javascript è una funzionalità lato client, il server non è in grado di rilevare, e "rilevamento" cose sul lato client è fatto con javascript. Si vede la cattura 22.

Ciò che è disponibile è il tag <noscript>, che è resa solo dal browser se javascript è disattivato. Questo è il meccanismo standard per la visualizzazione di un messaggio a un utente se javascript è disattivato. Utilizzando noscript e intelligente CSS si può rendere indispensabile che gli utenti abilitare javascript o seguire un link di reindirizzamento si presenti di utilizzare il sito.

Non v'è alcun modo per automaticamente redirect solo gli utenti che hanno JavaScript disabilitato. È possibile reindirizzare gli utenti in modo selettivo utilizzando JavaScript, o è possibile reindirizzare le persone sulla base di criteri sul lato server (HTTP headers, ecc). Ma non si può prendere quel gruppo centrale.

Per quanto riguarda la rilevazione adblocking, questo sta andando a variare a seconda del browser e il metodo adblocking. Non c'è una bandiera coerente per esso, ma è possibile fare cose come il controllo per la disponibilità del server tramite JavaScript, o controllare se i contenuti dell'annuncio viene caricato sulla pagina.

Altri suggerimenti

Per rilevare se l'utente sta bloccando gli annunci, tutto quello che dovete fare è trovare una funzione nella pubblicità javascript e provare il test per esso. Non importa quale metodo si sta utilizzando per bloccare l'annuncio. Ecco come si presenta per gli annunci di Google Adsense:

if(typeof(window.google_render_ad)=="undefined") 
{ 
    //They're blocking ads, do something else.
}

Questo metodo è descritto qui: http: // www. metamorphosite.com/detect-web-popup-blocker-software-adblock-spam

Per reindirizzare tutti gli utenti con javascript disabilitato, è sufficiente inserire questo codice nella testa del codice HTML:

<noscript>
    <meta http-equiv="refresh" content="5;url=http://newsite.com/">
</noscript>

cito da questo post su questo argomento:

http://w3guy.com/detecting-adblock/

HTML

<div class="myTestAd">
    <!-- Adsense Ad code goes here -->
</div>

JS:

if ($('.myTestAd').height() == 0) {
    // stuff to do if adBlock is active
} 

Non ho potuto ottenere @ La soluzione di Beau per il lavoro di controllo per 'window.google_render_ad' ma lo ha fatto il lavoro al momento del check 'window.google_jobrunner'.

Forse il codice AdSense è cambiato da quando la risposta originale è stato pubblicato, ho trovato 'google_jobrunner' nel JS scaricato da Adsense, ma non 'google_render_ad'.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top