Subversion Repositories eFlore/Archives.eflore-xul

Compare Revisions

Ignore whitespace Rev 12 → Rev 13

/trunk/eflore/eflore_v0_test/content/eflore/serveur.js
New file
0,0 → 1,78
/*
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('Error creating the 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;
};
}
}