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; |
}; |
} |
} |