Bonjour
Après plusieurs jours à me capilotracter, j'en viens à vous demander un peu d'aide.
Je réalise un blog photo, et plutôt qu'une pagination, j'ai installé un bouton "More" pour charger plus de contenu. Je me suis très largement inspiré de la méthode utilisée pour avoir un "twitter like" (http://blogfreakz.com/tutorial/facebook-and-twitter-pagination/).
J'utilise donc une requête ajax quand l'utilisateur clique sur le lien "more" et j'envois la dernière "id" connue à une page "ajax_more.php" pour qu'elle aille me cherche les suivant dans la limite imposée :
Ce code, en lien avec celui de la page load (je la mettrai si vous en avez besoin), marche bien, seulement les données HTML chargées et mise à la suite du contenu ne prennent pas en charge les différents javascript présents dans le head de l'index. Par exemple, je charge un player (sound manager) dans le head, il fonctionne bien au chargement de la page pour les données présentes, mais les données chargées par AJAX ne prennent pas en compte ce javascript...
Donc en gros, je cherche à ré-exécuter les javascript présents dans le head de l'index après chaque renvoi de ajax. Je ne sais pas si j'ai été très clair dans ma demande, n'hésitez pas à me redemander des explications.
Merci d'avance d'avoir pris le temps de me lire en tous cas.
A bientôt
Modifié par TGV70 (08 Aug 2013 - 19:36)
Après plusieurs jours à me capilotracter, j'en viens à vous demander un peu d'aide.
Je réalise un blog photo, et plutôt qu'une pagination, j'ai installé un bouton "More" pour charger plus de contenu. Je me suis très largement inspiré de la méthode utilisée pour avoir un "twitter like" (http://blogfreakz.com/tutorial/facebook-and-twitter-pagination/).
J'utilise donc une requête ajax quand l'utilisateur clique sur le lien "more" et j'envois la dernière "id" connue à une page "ajax_more.php" pour qu'elle aille me cherche les suivant dans la limite imposée :
<script type="text/javascript">
$(function() {//When the Dom is ready
$(document).on("click", "a.load_more", function(){
var last_msg_id = $(this).attr("id");
//Get the id of this hyperlink
//this id indicate the row id in the database
if(last_msg_id!='end'){
//if the hyperlink id is not equal to "end"
$.ajax({//Make the Ajax Request
type: "POST",
url: "ajax_more.php",
data: "lastmsg="+ last_msg_id,
beforeSend: function() {
$('a.load_more').html('<img src="typo/ajax-loader.gif" />');//chargement du loader pdt requete
},
success: function(html){//html = the server response html code
$("#more").remove();//enlever la div more (une autre est chargée dans ajax_load
$("#main").append(html);//On met le contenu du ajax_loader à la suite de la div principale
}
});
}
return false;
});
});
</script>
Ce code, en lien avec celui de la page load (je la mettrai si vous en avez besoin), marche bien, seulement les données HTML chargées et mise à la suite du contenu ne prennent pas en charge les différents javascript présents dans le head de l'index. Par exemple, je charge un player (sound manager) dans le head, il fonctionne bien au chargement de la page pour les données présentes, mais les données chargées par AJAX ne prennent pas en compte ce javascript...
Donc en gros, je cherche à ré-exécuter les javascript présents dans le head de l'index après chaque renvoi de ajax. Je ne sais pas si j'ai été très clair dans ma demande, n'hésitez pas à me redemander des explications.
![Smiley biggol](https://cdnf.alsacreations.net/smilies/biggol.gif)
Merci d'avance d'avoir pris le temps de me lire en tous cas.
A bientôt
Modifié par TGV70 (08 Aug 2013 - 19:36)