Ir para conteúdo
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.

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros 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.

 

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.