Bonjour,

Je poursuis actuellement le développement de mon site qui est développé sous forme d'un CMS
avec gestion de contenu en AJAX sauf pour certaines pages, affichées en normal.

Le site fonctionne correctement comme vous pouvez le vérifier (testé / IE7, FF2, et Safari)

La page affichée contient donc :
Une en-tête, des menus, des javascripts, l'objet XmlHttpRequest (XHR) propre à AJX, un titre de page, un contenu
et un pied de page dans lequel se trouve le marqueur XITI.

Le traitement sélectif de XITI pour chaque page affichée n'est pas implémenté sur le site en ligne pour le moment,
c'est la partie sur laquelle je travaile et pour laquelle je sollicite votre aide.

Pour les pages en affichage normal, le nom des pages pour XITI (nom compressé sur 20car) s'affiche correctement, pour les pages en AJAX,
le marqueur est bien calculé par l'objet XHR, mais il est affiché seul sur une nouvelle page au lieu de remplacer le contenu
de la "DIV", et pourtant j'ai bien re-spécifié dans le sript l'affectation du script à la "div" par
"document.getElementById('stats_xiti').innerHTML =" comme vous pouvez le voir dans les scripts ci-dessous.

Au nombre de 3, ces scripts placés dans des fichiers indépendants concernent:
1) l'objet XHR appellé 3 fois, une fois pour le contenu, une fois pour le titre, une foir pour le nom de page compressé (20 acaractère max)
pour XITI.
2) Le pied de page complet, avec la partie de script XITI permettant affichage du marqueur pour la page d'accueil,
3) Le module PHP qui récupère le nom compressé (nom court de moins de 20 caractères) pour renvoyer à l'objet XHR.

Avez vous une idée de mon erreur pour que cela ne fonctionne pas comme souhaité.
Merci par avance pour votre aide


Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
// -----------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------
// --- Appel des 3 entités ("contenu page - titre page et nom compressé pour stats xiti ----------
// -----------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------
function aff_page(alias,method,md){
	// L'appel de cette fonction provoque une double lecture :
	// celle du titre de la page et celle du contenu.
	// (voir les 2 requête "ajax" ci-dessous). 
	//document.getElementById("icontenu").innerHTML=document.getElementById("contenu").innerHTML;
	aliase = alias; 
	//alert(aliase);
	var mtd;
	if (method == 1){ mtd="GET"; }
	else if (method == 2){ mtd="POST"; } 
	if (md == 1){ mode = true; }
	else if (md == 0){ mode = false; }
	//alert("lire_titre_page.php?alias="+aliase+"");  
	requete_ajx(mtd,"lire_contenu_page.php?alias='"+aliase+"'","contenu", mode);
	requete_ajx(mtd,"lire_titre_page.php?alias='"+aliase+"'","nomPage", mode); 
	requete_ajx(mtd,"xiti_traitement_nompage.php?alias='"+aliase+"'","stats_xiti", mode);
 
}
 
// --- 2 Scripts AJAX ------------------------------------------------------------------------------
function new_xhr(){ 
	var xhr_object = null;
	if(window.XMLHttpRequest){ 	// Firefox et autres
	   xhr_object = new XMLHttpRequest(); 
	} 
	else if(window.ActiveXObject){ 	// Internet Explorer 
	   try {
           xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
       } catch (e) {
           xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
       }
	}
	else { 	// XMLHttpRequest non supporté par le navigateur 
	   alert("Votre navigateur n'est pas compatible avec AJAX..."); 
	   xhr_object = false;	
	}		
	return xhr_object;
}
 
// -----------------------------------------------------------------------------------------------
 function requete_ajx(mtd,progr,idDiv,mode){ 
 	// Dans cette fonction "mtd"= Méthode GET ou POST, 
	// "progr" programme du serveur sollicité (lire_titre_page?alias= ou lire_contenu_page?alias=), 
	// "idDiv" le contenaire DIV recevant le résultat de la requête, "mode = "asynchrone ou synchrone.
	// alert(progr+" - "+idDiv+" - "+mode);	
	var loadstatustext="chargement en cours....<br><br><img src='images/chargt.gif' /> Contenu en cours de requête...";
	// Fonction qui engendre au niveau du serveur l'affichage du contenu de la page par la technique AJAX
	// Le remplacement à la volée s'effectue dans la section définie par l'ID "contenu".
	var xhr2 = new_xhr(); // un nouvel objet XmlHttpRequest est créé pour le contenu de la page affichée
	if (xhr2){
		document.getElementById(""+idDiv+"").innerHTML = loadstatustext;
		xhr2.onreadystatechange = function(){
			//Si on a tout reçu et que le serveur est ok   
			if(xhr2.readyState == 4 && xhr2.status == 200){ 
				slide_close();
				// --- Pour vérifier le retour d'information ---
				if (idDiv == "nomPage") {	
					//document.write(xhr2.responseText);
				}
				if (idDiv == "stats_xiti") {	
					//document.write(xhr2.responseText);
				}
				if (idDiv == "contenu") {	
					//document.write(xhr2.responseText);
				}
				// --- fin vérification ------------------------
				if(xhr2.getResponseHeader("Content-Type") == "text/xml"){
    				document.getElementById(""+idDiv+"").innerHTML = xhr2.responseXML; 
  				}
				else{
					//alert (xhr2.responseText);
    				document.getElementById(""+idDiv+"").innerHTML = xhr2.responseText;
					// Evaluation des scripts transmis au navigateur par le serveur via AJAX
					// Programmes utilisateurs : tous ceux qui fonctionnent en AJAX pour le compteur de Statistiques Xiti
					// Les 2 formulaires gérant l'accès aux domaines "administrateur" et "adhérent".
					var mesScripts = document.getElementById(""+idDiv+"").getElementsByTagName("script");
					for (var i = 0; i < mesScripts.length; i++) { 
						eval(mesScripts[i].innerHTML);	
					}
 
  				}
			}
		// Ne pas enlever le point virgule derrière la parenthèse ci-dessous 
		};
	}
	//alert(progr+" - "+mtd); 
	xhr2.open(mtd,progr,mode);
	if (mtd == "GET"){ 
		xhr2.send(null);
	}
	else if (mtd == "POST"){ 
		var pdata = null;  
		xhr2.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
		xhr2.send(pdata);  
	}
}
// -----------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------
// --- Pied de Page ------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------
<?php 
...
...
...
// --- Statistiques XITI --------------------------------------------------------------
$stats_xiti = "<script type='text/javascript'>
                        Xt_param = 's=$_no_xiti&p=$nompage'; 
                        try {Xt_r = top.document.referrer;}
                        catch(e) {Xt_r = document.referrer;}
                        Xt_h = new Date(); 
                        Xt_i = '<a href=\"http://www.xiti.com/xiti.asp?s=$_no_xiti\" target=\"_top\" title=\"WebAnalytics\">';          
                        Xt_i += '<img width=\"39\" height=\"25\" border=\"0\" alt=\"\"  ';
                        Xt_i += 'src=\"http://logv2.xiti.com/hit.xiti?'+Xt_param;
                        Xt_i += '&hl='+Xt_h.getHours()+'x'+Xt_h.getMinutes()+'x'+Xt_h.getSeconds() ;
                        if(parseFloat(navigator.appVersion)>=4){
                                Xt_s=screen;
                                Xt_i+='&r='+Xt_s.width+'x'+Xt_s.height+'x'+Xt_s.pixelDepth+'x'+Xt_s.colorDepth ;
                        } 
                        document.write(Xt_i+'&ref='+Xt_r.replace(/[<>\"]/g, '').replace(/&/g, '$')+'\" title=\"Audience page :$nompage\"></a>');
                        </script>";
                                
echo "\n<div id='stats_xiti'>$stats_xiti";
echo "\n</div></div></div>\n";
 
// ------------------------------------------------------------------------------------
?>
// -----------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------
// ---Le traitement du nom page pour xiti en PhP pour retour à l'objet XmlHttpRequest AJAX -------
// -----------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------
 
<?php
include ('_admin/configuration.php'); 
 
$i = "";
if(isset($_REQUEST['alias'])){ 
 
	$i = stripslashes($_REQUEST['alias']);
 
	//echo $_Config_host,$_Config_user,$_Config_password,$_Config_db,$i;  
	//echo $i;
	include ('connexion_bdd.php');
	$reponse=mysql_query('SELECT * FROM sgl_structsite WHERE AliasPage='.$i);	
	mysql_close();
	while($donnees = mysql_fetch_array($reponse)){ 
		$nompage = xtTraiter($donnees['NomCompress']);	
		// $nompage contient un nom court de la page a inserrer dans le marqueur
		//echo $nompage; 
 
		$stats_xiti = "Xt_param = 's=$_no_xiti&p=$nompage'; 
			try {Xt_r = top.document.referrer;}
			catch(e) {Xt_r = document.referrer;}
			Xt_h = new Date(); 
			Xt_i = '<a href=\"http://www.xiti.com/xiti.asp?s=$_no_xiti\" target=\"_top\" title=\"WebAnalytics\">';		
			Xt_i += '<img width=\"39\" height=\"25\" border=\"0\" alt=\"\"  ';
			Xt_i += 'src=\"http://logv2.xiti.com/hit.xiti?'+Xt_param;
			Xt_i += '&hl='+Xt_h.getHours()+'x'+Xt_h.getMinutes()+'x'+Xt_h.getSeconds() ;
			if(parseFloat(navigator.appVersion)>=4){
				Xt_s=screen;
				Xt_i+='&r='+Xt_s.width+'x'+Xt_s.height+'x'+Xt_s.pixelDepth+'x'+Xt_s.colorDepth ;
			} 
			document.write(Xt_i+'&ref='+Xt_r.replace(/[<>\"]/g, '').replace(/&/g, '$')+'\" title=\"Audience page :$nompage\"></a>');";
 
			$stats_xiti = "<script type='text/javascript'>document.getElementById('stats_xiti').innerHTML = $stats_xiti</script>";
 
		echo $stats_xiti;
	}
}	
 
function xtTraiter($nompage) {
     $nompage = strtolower($nompage);
     $nompage = strtr($nompage,"àâäáîïíôöóùûüéèêëçñ","aaaaiiiooouuueeeecn");
     $nompage = eregi_replace("[^a-z0-9_:~\\\/\-]","_",$nompage);
     return($nompage);
}
 
?>
// -----------------------------------------------------------------------------------------------