Estou tendo vários problemas ao executar anúncios no site Discourse em https://howtodiscuss.com.
- Muitos erros de exceção DOM não capturados; basta acessar qualquer página de tópico no modo anônimo e você os verá: https://howtodiscuss.com/t/profit/7022
-
Outro erro ocorre quando navego de um tópico antigo para um novo: aparece um aviso no console. Um anúncio Google Vignette é exibido, mas devido a esse aviso, o anúncio desaparece e a página navega; assim, o usuário nunca consegue clicar nos anúncios Google Vignette Interstitial que aparecem entre carregamentos/navegações de página.
Aviso de depreciação: Remover todos os ouvintes de evento de uma vez está obsoleto; remova cada ouvinte individualmente. How many ounces is a 1 4 cup - How To Discuss
- Também estou tentando exibir um anúncio fixo e persistente do Google na barra lateral direita de uma página de tópico único, usando este código:
Código JavaScript para inserir anúncio fixo e persistente na barra lateral do tópico; preciso fazê-lo funcionar também com a ToC
<!-- código do plugin para mostrar anúncio fixo -->
<script type="text/discourse-plugin"
version="0.8">
var friends_retries = 0;
var friends_timeout;
api.decorateWidget('topic-timeline-container:before', helper => {
return helper.h('div.side-block', [
helper.rawHtml('<div id="friends"></div>'),
]);
});
api.onPageChange(() => {
if (window.location.href.indexOf("/t/") > -1) {
console.log('página alterada - tópico');
friends_retries = 0;
window.setTimeout(loadFriends, 100);
} else {
//console.log( 'página alterada - não é tópico');
}
});
function loadFriends() {
if (!document.getElementById('friends')) {
//var timer;
friends_retries++;
if (friends_retries < 10) {
//console.log('tempo limite reagendado, tentativa ' + friends_retries);
window.setTimeout(loadFriends, 100);
} else {
clearTimeout(friends_timeout);
// window.clearTimeout(loadFriends);
console.log('tempo limite limpo, desisti');
// loadFriends();
}
} else {
var bHTML = ' <!-- Barra lateral do tópico timeline HTD --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-7087907313091932" data-ad-slot="5067761793" data-ad-format="auto" data-full-width-responsive="true"></ins>';
// var bHTML = '<img src="https://via.placeholder.com/300x250?text=300x250+MPU" alt="Girl in a jacket">';
$("#friends").html(bHTML);
}
}
</script>
<!-- código do plugin para mostrar anúncio fixo -->
Aqui está o código CSS correspondente:
/* para anúncio fixo */
/* correção de layout da timeline 2.6.0.beta5 */
@media screen and (min-width: 925px) {
.container.posts .topic-navigation {
margin-left: 7em;
}
}
#friends {
display:block;
//width:300px;
height:150px;
margin-left:-90px;
margin-top:-25px;
margin-bottom:90px;
}
/* para anúncio fixo */
Às vezes esse código funciona, mas não funciona na página onde a ToC aparece, por exemplo, não funciona em How Many Grams In A Quarter Ounce? - How To Discuss
Alguém pode corrigir meu erro no código para que ele também funcione nas páginas com ToC?
-
Também notei outro bug no meu código e no código geral do plugin de anúncios do Discourse: ao navegar de uma página para outra, meu código de anúncio do AdSense nunca é atualizado nem recarregado, portanto, não dispara nenhuma impressão de anúncio. Talvez porque o Discourse não recarregue completamente a página inteira ao navegar. Quero que os anúncios sejam atualizados e que a página completa seja recarregada em qualquer navegação por link; como posso corrigir isso?
-
Estou recebendo muitos erros de frame-src no meu site: https://howtodiscuss.com/t/how-mouthwash-rinse-become-a-necessary-step-in-oral-hygiene/30631
A navegação para 'https://pagead2.googlesyndication.com/' foi bloqueada porque viola a seguinte diretiva de Política de Segurança de Conteúdo: "frame-src cm.g.doubleclick.net googleads.g.doubleclick.net www.google.com accounts.google.com pagead2.googlesyndication.com/pagead/s/cookie_push.html gmsg: https://tpc.googlesyndication.com/sadbundle/$csp=er3$/1522577804659956528/index.html".
Assim é como minhas configurações de CSP aparecem:
Mas não sei como colocar na lista de permissões as solicitações de iframe do Google Ads. Também tentei este código, mas não funcionou bem; ainda vejo os erros de frame-src acima. Se adiciono valores ao lado de frame-src na meta, recebo o erro de que não podemos usar frame-src na tag meta.
<!-- <meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' http://* 'unsafe-inline'; frame-src ; script-src 'self' http://* 'unsafe-inline' 'unsafe-eval'" /> -->
Seria de grande ajuda se alguém pudesse me ajudar a resolver meus problemas:
Estou recebendo até mesmo esses erros na minha página inicial: https://howtodiscuss.com/ (para replicar os erros, abra a página em modo anônimo, use uma VPN ou apenas atualize algumas vezes ou navegue para outras páginas; você encontrará os erros no console JS e também verá o Google Vignette sendo descartado sem dar chance ao usuário de clicar no anúncio)
Espero que alguém possa ajudar.
Meu site está no Cloudflare; estou na versão mais recente do Discourse 2.6.0.beta6, atualizei todos os plugins e também reconstruí o Docker agora mesmo. Ainda assim, vejo esses erros.


















