• [^] # 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é à 1.

    Ah je crois que je comprends la source de la confusion.

    L'attribut mu-patch-target ne sert pas à dire "ceci est un élément qui peut être patché".
    C'est un attribut qu'il faut mettre sur le flux renvoyé par le serveur, pour dire "voici la définition de l'élément qu'il faut mettre à jour".

    Par exemple, imagine si ta page contient ça :

    <html>
    <body>
      <header>Bienvenue</header>
      <div id="zone-1">Première zone</div>
      <div id="zone-2">Deuxième zone</div>
      <a href="/update" mu-mode="patch">Update</a>
    </body>
    </html>
    

    En cliquant sur le lien, μJS va chercher le flux HTML disponible sur /update.
    Imaginons que le serveur renvoie ça :

    <div mu-patch-target="#zone-1">AAAAA</div>
    

    Ça mettra à jour l'élément de la page #zone-1 (donc l'élément qui a l'attribut id="zone-1").

    Imaginons qu'au clic suivant sur le lien, le serveur réponde ça :

    <div mu-patch-target="header">Salut !</div>
    <div mu-patch-target="#zone-2">BBBBBBB</div>
    

    Là, ça va mettre deux fragments à jour : le tag <header>, et l'élément qui a l'ID zone-2.

    Dans les exemples précédents, la page initiale (celle du premier chargement) contenait des attributs mu-patch-target, mais ils ne sont pas utilisés. C'était pour montrer qu'on peut envoyer le même code HTML lors du premier chargement et lors des patchs.