Rev 13 | Blame | Compare with Previous | Last modification | View Log | RSS feed
/*
Fonction de recuperation d'infos sur le server
PENSER A METTRE :
connectionType = "direct";
timeOut = 120;
DANS LA FONCTION APPELANT connection !!!
*/
/* Use XMLHttpRequest to make a connection*/
function connection( qString )
{
/*Create the Object*/
try {
var req = new XMLHttpRequest();
req.overrideMimeType("text/xml");
}
catch (e){
alert('Erreur lors de la création de la connection!');
return;
}
try {
//Set Permission only in case of direct connection
if(connectionType == "direct") {
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
}
req.open("GET",qString,true);
req.send(null);
}
catch (e) {
alert('An error has occured: '+e);
return;
}
//TimeOut
var iter = timeOut;
var loaded = false;
var checkLoad = function () {
if(loaded) {
clearInterval(intervalID);
} else if(iter == 0) {
reqAbort();
alert('Connection has timed out. Aborted after '+ timeOut + ' seconds');
} else {
iter--;
}
};
var intervalID = setInterval(checkLoad,1000);
function stopConnection(e)
{
if (e.keyCode == 27 && req) {
reqAbort();
}
}
function reqAbort()
{
if(req) req.abort();
clearInterval(intervalID);
}
req.onload = function()
{
switch(req.readyState) {
case 1,2,3:
break;
case 4:
loaded = true;
if(req.status !=200) {
alert('The server respond with a bad status code: '+req.status);
} else {
//Work around for Moz 1.3
parseCallback( req.responseText );
}
break;
};
}
}