11484 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je tiens un petit blog sur blogger pour apprendre à dessiner sur lequel je poste des tutos. J'ai créé une page d'index pour répertorier tous mes tutos par catégorie en fonction de leur libellé. Pour éviter de créer à chaque fois un lien que je mets dans cet index quand je publie un nouveau tuto, j'utilise le flux rss du blog pour afficher les articles/tutos que je trie via des libellés. L'idée étant de faire un tableau qui regroupe les tutos par thème => Cf voir l'image jointe

J'ai trouvé un code javascript composé d'une boucle "for" qui permet d'afficher les articles contenus dans le flux sous forme de liens.

Voici le code


<script>
<div id="corps"></div>

//<![CDATA[
function getPosts(json) {
 var posts = "";
 for (var i = 0; i < json.feed.entry.length; i++) {
  var title = json.feed.entry[i].title.$t;
  var url = json.feed.entry[i].link.pop().href;
  posts += "<div><a href='" + url + "'>" + title + "</a></div>";
 }
 document.getElementById('corps').innerHTML = posts;
}
//]]>
</script>

<script src="https://inarisensei.blogspot.com/feeds/posts/default/-/corps?alt=json-in-script&amp;callback=getPosts&amp"></script> <!-- Flux RSS pour le libellé corps-->

Le script fonctionne correctement mais ne répond pas exactement à mes attentes. Je souhaiterais multiplier les catégories, par exemple corps, yeux, visage etc et ayant une <div id="corps"></div>, <div id="yeux"></div>, <div id="visage"></div> etc et d'afficher le flux RSS qui lui est propre.

La solution la plus bourine est de copier/coller le javascript, la div html et le lien rss et de les copier en modifiant juste les libellés. Le problème est que c'est assez sale comme méthode car je pourrais me retrouver avec 15 fois le même code javascript...

Donc ma question est la suivante: Comment faire pour afficher plusieurs catégories/libellés en utilisant qu'une seul fois le script Javascript ?

Merci à ceux qui voudront bien m'aider Smiley biggrin
Modifié par Inarisensei (13 Oct 2019 - 20:02)