Jump to content
Gideone

Capturar click no anúncios dentro do meu site

Recommended Posts

Olá,

estou tentando capturar cliques em meus anúncios banners,

tenho um site com anúncios em banner, e quero saber se o usuário clicou no banner do anúncio ou não,

 

meu código está assim:

 

<div id="ads">

 <script data-cfasync="false" type="text/javascript" src="https://www.greatdexchange.com/a/display.php?r=2411835"></script>

</div>

 

<script>

     var ads = document.getElementById('ads');
     ads.onclick = function() {
        document.getElementById("ads").style.display = "none";   
    }

</script>

 

quero que ao clicar no anúncio, que ele fique com display none, porém não está funcionando, ele captura o click dentro da div, porém não quando o anúncio é clicado, mesmo que o anúncio esteja dentro da div.

Share this post


Link to post
Share on other sites

Isto acontece por causa de como o anúncio é montado. A maioria das empresas de publicidade montam os anúncios dentro de um iframe o que significa que o anúncio está em outra página, e dentro dela todo o conteúdo do anínco que varia de um HTML com apenas textos, imagens e links até páginas complexas com React ou até mesmo flash. Basicamente você está deixando uma "janela" aberta para outro site exibir o anúncio.

 

Li o script que está no link que você passou e pude comprovar a existencia do tal iframe: Segue a transcrição (apaguei alguns caracteres da linha para ficar legível)...

var content = '<iframe width="300" [...] src="'+ url +'" scrolling="no"></iframe>';

Dessa forma, os eventos (de click por exemplo) precisam ser anexados nessa página onde está apontando o iframe. Geralmente isso não vai ser possível por segurança interdomínios, o próprio navegador barra essa possibilidade.

 

Ainda bem que existe essa proteção, já pensou se um anúncio malicioso pudesse resgatar as chaves de segurança nos cookies dos seus usuários?

 

Existe um arquivo chamado crossdomain.xml que o servidor da página de destino pode adicionar permitindo que os scripts de outros domínios possam "entrar" na página, mas acho muito pouco provavel que qualquer empresa de publicidade abra essa brecha de segurança e confiar que o seu site ou o de terceiros possa nunca sofrer um ataque ;-)

 

Referencias/Recomendações sobre segurança:

http://blog.securelayer7.net/owasp-top-10-security-misconfiguration-5-cors-vulnerability-patch/

https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.md

https://code.tutsplus.com/tutorials/quick-tip-a-guide-to-cross-domain-policy-files--active-3832

Share this post


Link to post
Share on other sites
2 horas atrás, Michael Granados disse:

Putz, mas tem vários sites ai que têem anúncios do google adsense por exemplo, que ao clicar no anúncio, ele some, preciso de uma função que faça isso, já vi vários sites, de series e filmes online por exemplo, que solicitam ao usuário que cliquem nos anúncios para a exibição do player, e ao clicar no anúncio o player é mostrado, preciso de uma função que faça mais ou menos isso, preciso saber se o user clicou no meu anúncio ou não.

 

Share this post


Link to post
Share on other sites

Experimente, por conta e risco, acessar via contentWindow. Mas como te falei, lá dentro é vida nova, sem jQuery, propenso ao que existir por lá...

 

Veja um exemplo do uso em https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_iframe_contentdocument

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.