Interrompre une requête Cross-Domain
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:
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épond pas">Erreur...</i>';
} |
le setTimeout gère le cas ou la page est indisponible mais pas longue à charger
Merci d'avance