Estoy teniendo un montón de problemas al ejecutar anuncios en el sitio Discourse de https://howtodiscuss.com.
- Muchos errores de excepción DOM no capturados; simplemente ve a cualquier página de tema en modo incógnito y los verás: https://howtodiscuss.com/t/profit/7022
-
Otro error ocurre cuando navego desde una página de tema antigua a una nueva: aparece esta advertencia en la consola. Se muestra un anuncio Vignette de Google, pero debido a esta advertencia, el anuncio desaparece y la página navega; por lo tanto, el usuario nunca puede hacer clic en los anuncios intersticiales Vignette de Google que aparecen entre cargas o navegaciones de página.
Aviso de obsolescencia: Eliminar todos los oyentes de eventos a la vez está obsoleto; por favor, elimine cada oyente individualmente. How many ounces is a 1 4 cup - How To Discuss
- También estoy intentando mostrar un anuncio fijo y pegajoso de Google en la barra lateral derecha de una página de tema individual, usando este código:
Código Javascript para insertar un anuncio fijo y pegajoso en la barra lateral del tema; necesito que funcione también con la Tabla de Contenidos (ToC)
<!-- código del plugin para mostrar un anuncio fijo -->
<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 cambiada - tema');
friends_retries = 0;
window.setTimeout(loadFriends, 100);
} else {
//console.log( 'página cambiada - no es tema');
}
});
function loadFriends() {
if (!document.getElementById('friends')) {
//var timer;
friends_retries++;
if (friends_retries < 10) {
//console.log('tiempo de espera reprogramado, intento ' + friends_retries);
window.setTimeout(loadFriends, 100);
} else {
clearTimeout(friends_timeout);
// window.clearTimeout(loadFriends);
console.log('tiempo de espera aclarado, se rindió');
// loadFriends();
}
} else {
var bHTML = ' <!-- Barra lateral del tema línea de tiempo 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="Chica con chaqueta">';
$("#friends").html(bHTML);
}
}
</script>
<!-- código del plugin para mostrar un anuncio fijo -->
Aquí está su código CSS:
/* para anuncio fijo */
/* corrección de diseño de línea de tiempo 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 anuncio fijo */
A veces este código funciona, pero no funciona en la página donde aparece la Tabla de Contenidos (ToC), por ejemplo, no funciona en How Many Grams In A Quarter Ounce? - How To Discuss
¿Alguien puede corregir mi error en el código para que también se muestre en las páginas con ToC?
-
También he notado otro error en mi código y en el código general del plugin de anuncios de Discourse: cuando navego de una página a otra, mi código de anuncio de AdSense nunca se actualiza ni se vuelve a cargar, por lo que no se activa ninguna impresión de anuncio. Quizás sea porque Discourse no recarga completamente toda la página al navegar. Quiero que los anuncios se actualicen y que toda la página se recargue desde cualquier navegación de enlace; ¿cómo puedo solucionarlo?
-
También estoy recibiendo muchos de estos errores de frame-src en mi sitio: https://howtodiscuss.com/t/how-mouthwash-rinse-become-a-necessary-step-in-oral-hygiene/30631
Se ha denegado el enmarcado de 'https://pagead2.googlesyndication.com/' porque viola la siguiente directiva de Política de Seguridad de Contenido (CSP): "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".
Así es como se ven mis configuraciones de CSP:
Pero no sé cómo poner en la lista blanca las solicitudes de iframe de anuncios de Google. También probé este código, pero no funciona bien; sigo viendo los errores de frame-src mencionados anteriormente. Si agrego valores junto a frame-src en la etiqueta meta, me da un error indicando que no podemos usar frame-src en la etiqueta 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'" /> -->
Sería de gran ayuda si alguien pudiera ayudarme a resolver mis problemas:
Incluso estoy obteniendo errores como este en mi página de inicio: https://howtodiscuss.com/ (para replicar los errores, abra la página en incógnito, use una VPN o simplemente actualice varias veces o navegue a otras páginas; encontrará los errores en la consola de JS y también verá cómo se descarta el Vignette de Google sin dar la oportunidad al usuario de hacer clic en el anuncio).
Espero que alguien pueda ayudar.
Mi sitio está en Cloudflare, estoy en la última versión de Discourse 2.6.0.beta6, he actualizado todo, incluidos todos los plugins, y también he reconstruido Docker hace un momento. Aún así, sigo viendo estos errores.


















