• [^] # Re: contenus et habillage

    Posté par (site web personnel) . En réponse à la dépêche Sortie de μJS, une bibliothèque JavaScript légère pour dynamiser un site sans framework. Évalué à 4.

    Ce que tu décris est effectivement le cas de base, et il peut être traité de 2 manières différentes.

    Solution basique
    Tes deux pages "A" et "B" sont des pages normales, qui contiennent un HTML complet. Par défaut, en activant μJS, quand on clique sur un lien (par exemple, sur la page A, un lien qui pointe vers B), la lib va chercher le contenu de la page B en AJAX. La balise <body> de la page B est extraite du contenu récupéré, et elle est utilisée pour remplacer la balise <body> de la page courante.

    Dans ce cas il n'y a rien à faire côté back-end. Tu génères tes pages comme d'habitude. μJS va juste rendre la navigation plus rapide et plus fluide, et évitant de refaire tout le traitement CSS et JS. L'écran ne "clignote" pas au chargement de la page.

    Solution avancée
    Si tu veux faire quelque chose de plus pointu, tu peux ne vouloir renvoyer qu'une portion de la page au lieu de la page complète. Dans ce cas, ton code backend doit regarder s'il y a un en-tête HTTP X-Requested-With (contenant la valeur XMLHttpRequest), pour faire un traitement conditionnel.

    Mais honnêtement, la plupart du temps on peut s'en passer et rester sur le fonctionnement de base.