1 pièce(s) jointe(s)
addEventListener et événements ajax
Bonjour,
Je voudrais capturer les fils d'un forum de discussion (dans FUN) pour les afficher ensemble afin de faciliter une recherche par mot clé. Dans ce forum, il faut cliquer sur chacun des fils pour que la discussion s'affiche dans une div sur la même page. Lors du clic, une requête de type GET va chercher le post, mais cela prend du temps (4/5 sec.).
Dans un script (que je colle dans une console), je parviens à cliquer sur chaque fil de discussion, et aussi à capturer le contenu du post, mais pas à être averti lorsque le post est chargé.
Voici le script que j'utilise.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| // Ajouter une balise div ajout en fin de page si elle n'existe pas
var div = document.getElementById("ajout")
if (typeof(document.getElementsByClassName("ajout")[0] = 'undefined')) {
document.getElementsByClassName("top-footer")[0].innerHTML = '<div id="ajout" style="color:#FFFFFF"></div id="ajout">';
}
function recordPost ()
{
// Capturer discussion-post et le placer dans une div du footer
alert("Post reloaded");
document.getElementById("ajout").innerHTML += '<div class="ajouts">' + document.getElementsByClassName("discussion-post")[0].innerHTML + '</div>';
}
document.getElementsByClassName("discussion-post")[0].addEventListener("load",recordPost, false);
// recordPost(document.getElementsByClassName("discussion-post")
// Ouvrir les fils de discussion un à un
var pas;
// var max = document.getElementsByClassName("forum-nav-thread-link").length;
var max = 2;
for (pas = 0; pas < max; pas++) {
test=document.getElementsByClassName("forum-nav-thread-link")[pas].click();
// ('<div class="discussion-post"></div>').load(console.log("chargé"));
//window.setTimeOut(recordPost,4000)
console.log(pas);
}; |
D'une part, le addEventListener ne fonctionne pas et ne réagit pas lorsque ma div est rechargée ; d'autre part la boucle de clics va trop vite pour que chacun des posts ait le temps de s'afficher. Comment alors attendre le temps suffisant pour s'assurer que la div a été rechargée et la sauvegarder ensuite ?
Ci-joint la page html en question.
Merci de l'aide,
Thibaud.