Sto avendo un sacco di problemi con la pubblicazione di annunci sul sito Discourse all’indirizzo https://howtodiscuss.com.
- Molti errori non intercettati di tipo DOM Exception: basta andare su qualsiasi pagina di argomento in modalità incognito e li vedrete. https://howtodiscuss.com/t/profit/7022
-
Un altro errore si verifica quando navigo da una pagina di argomento precedente a una nuova: appare questo avviso nella console. Viene mostrato un annuncio Google Vignette, ma a causa di questo avviso l’annuncio scompare e la pagina cambia, quindi l’utente non riesce mai a cliccare sugli annunci Google Vignette Interstitial che appaiono tra i caricamenti/navigazioni delle pagine.
Avviso di deprecazione: la rimozione simultanea di tutti i listener di eventi è deprecata; rimuovete ciascun listener individualmente. How many ounces is a 1 4 cup - How To Discuss
- Sto anche cercando di mostrare un annuncio Google fisso e aderente nella barra laterale destra di una singola pagina di argomento, utilizzando questo codice,
Codice JavaScript per inserire un annuncio fisso aderente nella barra laterale degli argomenti: è necessario farlo funzionare anche con la ToC (Indice dei contenuti)
<!-- codice del plugin per mostrare un annuncio fisso -->
<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('pagina cambiata - argomento');
friends_retries = 0;
window.setTimeout(loadFriends, 100);
} else {
//console.log( 'pagina cambiata - non argomento');
}
});
function loadFriends() {
if (!document.getElementById('friends')) {
//var timer;
friends_retries++;
if (friends_retries < 10) {
//console.log('timeout riprogrammato, prova ' + friends_retries);
window.setTimeout(loadFriends, 100);
} else {
clearTimeout(friends_timeout);
// window.clearTimeout(loadFriends);
console.log('timeout cancellato, ho rinunciato');
// loadFriends();
}
} else {
var bHTML = ' <!-- Barra laterale degli argomenti 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="Ragazza con giacca">';
$("#friends").html(bHTML);
}
}
</script>
<!-- codice del plugin per mostrare un annuncio fisso -->
Ecco il suo codice CSS:
/*per annuncio fisso*/
/* correzione layout 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;
}
/*per annuncio fisso*/
A volte questo codice funziona, ma non funziona sulla pagina in cui appare la ToC, ad esempio non funziona su How Many Grams In A Quarter Ounce? - How To Discuss
Qualcuno può correggere il mio errore nel codice in modo che funzioni anche sulle pagine con la ToC?
-
Ho notato anche un altro bug nel mio codice e nel codice generale del plugin annunci di Discourse: quando navigo da una pagina all’altra, il mio codice annuncio AdSense non viene mai aggiornato né ricaricato, quindi non viene attivata alcuna impressione pubblicitaria. Forse perché Discourse non ricarica completamente l’intera pagina durante la navigazione. Voglio che gli annunci vengano aggiornati e che la pagina venga ricaricata completamente da qualsiasi navigazione tramite link; come posso risolvere questo problema?
-
Sto anche ricevendo molti errori frame-src sul mio sito, https://howtodiscuss.com/t/how-mouthwash-rinse-become-a-necessary-step-in-oral-hygiene/30631
Il frame 'https://pagead2.googlesyndication.com/' è stato rifiutato perché viola la seguente direttiva Content Security Policy: "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".
Ecco come appaiono le mie impostazioni CSP,
Ma non so come whitelistare le richieste iframe di Google Ads. Ho anche provato questo codice, ma non funziona bene; vedo ancora gli errori frame-src sopra riportati. Se aggiungo valori accanto a frame-src nel meta, ricevo un errore che dice che non è possibile utilizzare frame-src nel 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'" /> -->
Sarebbe di grande aiuto se qualcuno potesse aiutarmi a risolvere i miei problemi,
Sto ricevendo anche questi errori sulla mia home page, https://howtodiscuss.com/ (per replicare gli errori, apri la pagina in incognito, usa una VPN o semplicemente aggiornala alcune volte o naviga su altre pagine; troverai gli errori nella console JS e vedrai anche l’annuncio Google Vignette scomparire senza dare all’utente la possibilità di cliccare sull’annuncio)
Spero che qualcuno possa aiutarmi.
Il mio sito è su Cloudflare, sto usando l’ultima versione di Discourse 2.6.0.beta6, ho aggiornato tutti i plugin e ho appena ricostruito Docker. Tuttavia, vedo ancora questi errori.


















