Bonjour,
j'ai suivi l'article http://blog.pascal-martin.fr/post/Re...-balise-script
pour faire un requête ajax cross-domain

ça fonctionne parfaitement, maintenant je souhaite gérer le cas où la page distante met trop de temps à répondre (puisque du coup ce n'est plus asynchrone il ne s'agirait pas que le script s'exécute sans discontinuer)

il s'agit donc d'interrompre le script en cours.... et je n'ai pas trouvé comment faire.


mon code :
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
setTimeout("StatsTimeout()", 5000);
 
function LiteStats(id, url, page, referrer, mode, path) {
	finished = false;
	// Affichage du calque de sortie
	document.write('<div id="ShowStats"><img src="'+path+'images/load.min.gif"/></div>');
 
	// Création de la nouvelle balise
	var script = document.createElement('script');
		script.src = path+'record.php';
		script.src += '?Func=StatsPrintResult';
		script.src += '&ID='+id;
		script.src += '&URL='+url;
		script.src += '&Page='+page;
		script.src += '&Referrer='+referrer;
		script.src += '&Mode='+mode;
		script.src += '&Path='+path;
		script.id = 'StatsResult';
		script.type = 'text/javascript';
 
	// Injection dans le DOM
	document.body.appendChild(script);
}
 
function StatsPrintResult(responseText) {
	document.getElementById('ShowStats').innerHTML = responseText;
	finished = true;
}
 
function StatsTimeout() {
	if(finished == false)
		document.getElementById('ShowStats').innerHTML = '<i title="Le module ne r&eacute;pond pas">Erreur...</i>';
}
le setTimeout gère le cas ou la page est indisponible mais pas longue à charger

Merci d'avance