Cela fonctionne très bien pour masquer de nombreux éléments dans une catégorie « documentation » (oui, je sais qu’un plugin de documentation existe, je trouve la mise en page native meilleure, cependant). Mon problème est que lorsque je clique par exemple de « Ford » à « Documentation », le CSS ne se rafraîchit pas et donc mes éléments ne sont pas masqués, sauf si je rafraîchis toute la page avec F5 / Ctrl + R.
Y a-t-il quelque chose que j’ai manqué pour que cela fonctionne ?
La même chose s’applique dans l’autre sens également.
Vous pouvez visiter n’importe quelle catégorie sur https://community.cyanlabs.net, puis aller à la documentation et vous verrez les éléments CSS masqués s’afficher toujours.
Il semble que vous utilisiez le thème Air, qui inclut le composant de thème Discourse Loading Slider.
Si vous désactivez ce composant depuis admin > customize > themes > components, puis réessayez… cela change-t-il quelque chose ? Parfois, ce composant peut causer un problème où les classes persistent entre les pages jusqu’à ce que vous actualisiez.
Je viens de tester ceci et malheureusement, cela n’a fait aucune différence dans ce cas.
S’il n’y a rien de simple, je vais simplement vérifier la classe du corps en javascript en utilisant api.onPageChange() mais cela semble un peu étrange.
Ah ok… en y regardant de plus près, il semble qu’une classe dynamique soit ajoutée par un thème à la balise body, par exemple category-documentation-21 et category-ford-5… lors des transitions de page, ces classes ne semblent pas être supprimées correctement.
Nous mettrons à jour ce sujet lorsqu’il sera résolu (ou quelque chose d’autre s’y rapportant). Si vous changez votre niveau de suivi sur « Suivre » dans le menu déroulant en bas du sujet, vous serez informé des nouveaux messages.
Cela devrait être corrigé dans ce commit, donc la prochaine fois que vous mettrez à jour Discourse, les classes de catégorie devraient être ajoutées/supprimées comme prévu.
Ah ok, je viens de comprendre… class^= vérifie le début de la classe, et la catégorie n’est pas toujours la première classe dans la liste.
Si vous mettez à jour avec body[class*="category-documentation"], cela devrait fonctionner, car cela vérifie le nom de la classe où qu’il apparaisse dans la liste.