Hanno aggiunto un JavaScript personalizzato che aggiunge la classe .scrolling all’intestazione durante lo scorrimento; Discourse non lo fa di default (ma è un bell’effetto!).
Puoi aggiungere qualcosa come questo alla scheda header del tuo tema
<div class="header-anchor"></div>
<script type="text/discourse-plugin" version="0.8">
if (!"IntersectionObserver" in window) return;
const { on } = require("discourse-common/utils/decorators");
const stickyClass = "sticky";
api.modifyClass("component:site-header", {
@on("didInsertElement")
stickyHeaderCheck() {
const anchor = document.querySelector(".header-anchor");
const header = this.element;
new IntersectionObserver(entries => {
if (!entries[0].isIntersecting) {
header.classList.add(stickyClass);
} else {
header.classList.remove(stickyClass);
}
}).observe(anchor);
}
});
</script>
Questo aggiungerà una classe sticky al contenitore dell’header e ti permetterà di impostare CSS personalizzato quando l’header rimane “fissato” in alto durante lo scorrimento
Ho bisogno di qualche dettaglio in più per eseguire il debug.
La tua applicazione PWA funziona se rimuovi il codice?
L’hai aggiunta alla scheda header del tuo tema?
Quale dispositivo/sistema operativo stai utilizzando per i test?
Sì, aggiungi l’intestazione del tema. La PWA continua a funzionare dopo aver rimosso il codice. L’ho testato su un server con Ubuntu 20.04 installato seguendo le istruzioni di installazione ufficiali, sul sito live, su un dispositivo Android 11 e sul browser Chrome su PC.