11496 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je vai essayer de décrire mon problème le mieux possible (parfois pas évident Smiley smile )

Alors j'ai un site php avec des liens dynamiques de type :
http://localhost/Portfolio/?section=portfolio ET
http://localhost/Portfolio/?section=portfolio&page=web

Le premier lien sert à ouvrir une page normalement qui contient un systeme d'onglets.
Le deuxieme lien sert à charger en ajax le contenu du systeme d'onglets.

J'espère que jusque là tout va bien.

Maintenant, voici mon code jquery pour effectuer ces chargements en ajax :
$(document).ready(function(){
        function ajax_page(ele1,ele2,msg,url){
		$(ele1).html(msg).load(url+" "+ele2);
	}
		
	$(".tab_btn a").click(function(){
		$('.tab_btn a').removeClass('selected');
		$(this).addClass('selected');
			
		ajax_page('.tab_content','.ajax_load','<p class="ajax_loading">Chargement ...</p>',this.href);
		return false;
	});
});


Jusque là ça fonctionne et tout, un bon chargement, enfin niquel.
JUSQUE quand je commence à paufiner le contenu qui change.

Je m'explique, dans certains contenus, j'ai mis du javascript (jquery toujours) pour faire par exemple un carousel.
Au chargement complet de la page, tout baigne, mais quand je commence à naviguer dans les onglets, le contenu s'affiche MAIS SANS comprendre le carousel.
D'après moi, il y a un problème d'execution du javascript lors du chargement du contenu.

Alors voici ma question :
- Est-ce que quelque chose cloche dans ma fonction ajax_page ?
- Ou alors je suis obligé de faire le tout en liens normaux (sans chargement ajax) ce qui est moins cool ?
J'arrive un peu après la guerre, mais ça peu toujours servir à quelqu'un d'autre.

Lorsqu'un appel Ajax retourne du contenu HTML contenant des scripts, ceux-ci ne sont pas évalués tout seuls si tu te contente de les insérer dans ta page.
Il est donc nécessaire de les évaluer "à la main".


var mesScripts = document.getElementById("idDuDivDInsertion").getElementsByTagName("script");
for (var i=0; i<mesScripts.length; i++) {
eval(mesScripts[i].innerHTML);
}
[/i]
Modifié par epheo (21 Apr 2010 - 04:28)
Hello,

Merci d'avoir contribuer à mon problème, mais je t'avouerai que je n'ai pas compris :s
Bonjour,

est ce que ton problème est résolu ?

je rencontre une situation relativement proche, si tu as solutionné ton cas de figure, je suis très preneur de la solution.

Merci Smiley cligne
Désolé mais je n'ai pas trop compris le message qui devait m'aider alors je suis toujours au même point