[Résolu] Limiter le chargement des JS / CSS d'un plugin à un type de page ?

Bonjour,

Quand on installe un plugin qui nécessite des JS / CSS, il les charge via #INSERT_HEAD et #INSERT_HEAD_CSS, sur toutes les pages SOMMAIRE, RUBRIQUE, ARTICLE.

Existe-t-il un moyen pour limiter le chargement des JS / CSS d’un plugin à un type de page ?

Merci,
François

Si le plugin lui même ne le prévoit pas, non, pas vraiment.

En général c’est plutôt une bonne chose si on active la concaténation des js/css (un seul et même fichier chargé sur toutes les page, donc cache navigateur plus efficace).

Ça te pose un problème particulier ?

C’est pour éviter de charger inutilement des kilo-octet sur chaque page alors que le besoin concerne uniquement un / deux articles.

Concrètement : le plugin FlipBook peut être utile sur un article, mais pas sur sommaire, ni rubrique.

Je pourrais charger la librairie d’origine uniquement sur les pages article…

Concernant la concaténation, ce plugin utilise justement une « non concaténation » dans son code : <script id="ne_pas_compresser_mon-js"...

Tu peux t’inspirer de ce que @cerdic avait introduit dans le plugin GIS pour ne charger les scripts de celui-ci uniquement si une carte est présente dans la page cf modeles/carte_gis.html · master · spip-contrib-extensions / gis · GitLab

Merci @nicod et @b_b pour vos retours : je vais regarder et proposer un chargement conditionnel des ressources : Amélioration du chargement des fichiers CSS / JS dans le modèle flipbook (#2) · Issues · spip-contrib-extensions / Flipbook · GitLab
(Les libs sont assez lourdes)

Ah oui ok, je n’avais pas compris la demande initiale :slight_smile:

Effectivement, c’est une bonne méthode.

Bonjour
Avec le même souci d’éviter les surcharges pondérales inutiles, j’ai essayé la solution proposée dans la branche 2 : Fichiers · feature-chargement-conditionnel-flipbook · spip-contrib-extensions / Flipbook · GitLab

Le résultat me convient avec la réserve suivante :

  • Je trouvais « inutiles » certaines fonctionnalités proposées dans la barre des contrôles affichés : vignettes, partage, page unique…
    Avec le plugin d’origine, je les avais donc « invisibilisées » via une ligne dans mon fichier perso.css : .df-ui-share, .df-ui-thumbnail, .df-ui-pagemode {display:none;}
    J’avais aussi changé la couleur du background du bouton.

  • Mais dans cette nouvelle version, mes ajouts dans perso.css sont ignorés.
    Je les ai donc insérés (<style>...</style>) directement dans le modèle flipbook.html placé dans mon dossier squelettes/modeles.

Il y a peut-être une solution plus propre pour faire prendre en compte mes surcharges contenues dans perso.css ?

Il faudrait essayer avec une priorité plus forte sur tes valeurs : !important.

Effectivement, c’est OK.
En fait je n’y avais pas pensé parce que ça fonctionnait sans auparavant.
Merci.