Ciao.
Ti mostrerò con le immagini.
Stavo ricevendo questo errore prima dell’ultimo aggiornamento.
Dopo aver installato l’aggiornamento, continuo a ricevere questo errore.
(Aggiornato - Current)
E ho rimosso tutto il codice dal sito e ho riprovato, ricevo ancora l’errore.
Traduci
Errore
Si è verificato un errore.
Succede anche in modalità provvisoria? Potresti anche controllare la console del browser per eventuali errori quando ci fai clic, oltre a controllare in /logs per vedere se ci sono maggiori dettagli.
La modalità provvisoria è attiva e non viene visualizzato alcun errore nella pagina dei log. Forse non capisco.
Ultimi log.
Ho provato a disattivare la modalità provvisoria. Ricevo ancora lo stesso errore.
A proposito, quando ci clicco per la seconda volta, l’errore scompare e appare la home page.
Vedo alcuni errori quando i componenti del tema vengono caricati e i plugin vengono scaricati.
Potresti dare un’occhiata alle tue recenti personalizzazioni.
Arkshine:
Vedo alcuni errori quando i plugin vengono caricati (TC da solo sembra a posto), ma non riesco a capirne l’origine.
Quali plugin hai installato?
Grazie per il tuo interesse.
Ultimo plugin: GIF
Tutti i plugin
Hai personalizzazioni JS al di fuori dei componenti remoti?
Proverei a disabilitare tutti i componenti e ad abilitarli uno per uno finché non si verifica l’errore.
<script>
function moveTagsToTitle() {
const mainLinks = document.querySelectorAll('.main-link');
mainLinks.forEach(mainLink => {
const discourseTags = mainLink.querySelector('.discourse-tags');
const titleElement = mainLink.querySelector('.title');
if (discourseTags && titleElement) {
const tags = discourseTags.querySelectorAll('.discourse-tag');
tags.forEach(tag => {
const tagSpan = document.createElement('span');
tagSpan.className = 'discourse-tag box';
tagSpan.textContent = tag.textContent;
tagSpan.style.fontSize = 'var(--font-down-2)';
tagSpan.style.borderRadius = '10px';
tagSpan.style.border = '1px solid #444460';
tagSpan.style.backgroundColor = '#1f1f33';
tagSpan.style.margin = '2px';
tagSpan.style.display = 'inline-block';
tagSpan.style.overflow = 'hidden';
tagSpan.style.whiteSpace = 'nowrap';
tagSpan.style.textOverflow = 'ellipsis';
tagSpan.style.verticalAlign = 'middle';
tagSpan.style.marginRight = '5px';
tagSpan.style.marginLeft = '-6px';
titleElement.insertBefore(tagSpan, titleElement.firstChild);
});
if (discourseTags.parentNode) {
discourseTags.parentNode.removeChild(discourseTags);
}
}
});
const topicHeaderExtras = document.querySelectorAll('.topic-header-extra');
topicHeaderExtras.forEach(topicHeaderExtra => {
const discourseTags = topicHeaderExtra.querySelector('.discourse-tags');
const tags = discourseTags.querySelectorAll('.discourse-tag');
tags.forEach(tag => {
tag.className = 'discourse-tag box';
tag.style.borderRadius = '10px';
tag.style.border = '1px solid #444460';
tag.style.backgroundColor = '#1f1f33';
tag.style.margin = '1px';
tag.style.padding = '2px 8px';
tag.style.display = 'inline-block';
tag.style.overflow = 'hidden';
tag.style.whiteSpace = 'nowrap';
tag.style.textOverflow = 'ellipsis';
tag.style.verticalAlign = 'middle';
tag.style.marginRight = '5px';
tag.style.marginBottom = '5px';
});
});
}
window.addEventListener('load', moveTagsToTitle);
const observer = new MutationObserver(moveTagsToTitle);
const targetNode = document.body;
const observerOptions = {
childList: true,
subtree: true
};
observer.observe(targetNode, observerOptions);
</script>
Questi codici causano questo errore.
Non so come risolverlo.
Ho bisogno di questi codici
Stai spostando elementi che contengono componenti Emberjs (qui è l’elenco dei tag), il che penso possa interrompere il ciclo di vita del componente.
La tua migliore opzione qui è usare l’API.
Nel tuo caso, o:
Utilizzando gli outlet dei plugin come ho mostrato nel tuo ultimo argomento . Tuttavia, poiché non esiste per gli argomenti più recenti nella pagina della categoria, dovrai richiederlo.
Sovrascrivi il template . Questa non è una buona soluzione per motivi di compatibilità, ma può essere un’alternativa immediata.
Ho trovato questi codici.
Questo non è quello che volevo, ma per ora andrà bene.
var pElement = document.getElementById('site-logo').parentNode;
//var pElement = document.createElement('a');
//pElement.innerHTML = aElement.innerHTML;
//aElement.replaceWith(pElement);
pElement.href = '#';
pElement.style.cursor = 'pointer';
pElement.onclick = function() {
window.location.href = '/';
};
//document.getElementById('site-logo').parentNode.href = '/';
Se qualcuno può aiutare, sto aspettando. Grazie
Consiglio vivamente di non intraprendere quella strada. È come applicare un cerotto a un effetto collaterale invece di risolvere la causa principale del problema. Creerai altri problemi con essa (come il tuo ultimo topic a causa del codice sopra)
Puoi rendere il tuo JS un po’ più “discourse friendly” (il modo migliore è comunque usare un plugin outlet quando puoi).
Ecco un esempio. Utilizza l’API al cambio pagina, esegue codice su un percorso specifico e copia l’HTML prima del link (in modo da poter fare clic sul tag):
JS
<script type="text/discourse-plugin" version="0.8">
const { next } = require("@ember/runloop");
function moveTags() {
const mainLinks = document.querySelectorAll(".main-link:not(.tags-moved)");
mainLinks.forEach((mainLink) => {
const discourseTags = mainLink.querySelector(".discourse-tags");
const titleElement = mainLink.querySelector("a[data-topic-id]");
if (discourseTags && titleElement) {
titleElement.insertAdjacentHTML("beforebegin", discourseTags.outerHTML);
mainLink.classList.add('tags-moved');
}
});
}
api.registerModelTransformer("topic", async (topics) => {
next(() => {
moveTags();
})
});
api.onPageChange((url) => {
if (url.startsWith("/categories")) {
moveTags();
}
});
</script>
CSS
.top-row,
.link-top-line {
.discourse-tag {
font-size: var(--font-down-2) !important;
padding: 2px 8px;
margin: 2px 5px 2px -6px;
border-radius: 10px;
border: 1px solid #444460;
background-color: #1f1f33;
}
.discourse-tag::after {
content: '' !important;
margin-left: 0 !important;
}
}
.bottom-row,
.link-bottom-line {
.discourse-tags {
display: none;
}
}
Ciao @Arkshine
Cambiare il link del logo non ha aiutato, ho cancellato questi codici.
Ma non c’è altro modo. Ho bisogno di posizionare i tag in questo modo.
https://pvpfarm.com
Se pago qualcuno, può scrivere codici decenti che funzionano?
E dove trovi questi codici? (JS) Da GitHub - discourse/discourse: A platform for community discussion. Free, open, simple. ?
Puoi creare un argomento in Marketplace se hai bisogno/vuoi assistenza a pagamento.
Ho fornito il codice per questo in #11 .
Ciao di nuovo @Arkshine
Ho aggiunto i codici che mi hai dato dopo averli cancellati, ma non funzionano. Sto commettendo un errore?
Funziona per me:
Assicurati di mantenere \u003cscript type=\"text/discourse-plugin\" version=\"0.8\"\u003e. , altrimenti non funzionerà.
Sì, funziona!
C’è solo un piccolo errore.
Quando faccio clic sul logo, il numero di tag aumenta.
Ho aggiornato il mio codice sopra.
Non so come ringraziarti. Grazie mille!
@Arkshine Mi dispiace per aver ripreso nuovamente l’argomento.
Grazie ancora. Ho trovato un errore nei codici che mi hai dato.
Puoi aiutarmi per favore?
Ho provato a correggere i codici ma non ci sono riuscito.
Nella sezione Ultimi, appare solo il tag nell’argomento taggato aperto più di recente.
E quando entri in una categoria, i tag non appaiono.
@ogulcan1787 Ho aggiornato il codice sopra.