Subversion Repositories eFlore/Archives.eflore-xul

Rev

Rev 13 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 13 Rev 23
Line 6... Line 6...
6
timeOut = 120;
6
timeOut = 120;
7
DANS LA FONCTION APPELANT connection !!!
7
DANS LA FONCTION APPELANT connection !!!
8
*/
8
*/
Line 9... Line 9...
9
 
9
 
10
/* Use XMLHttpRequest to make a connection*/
10
/* Use XMLHttpRequest to make a connection*/
-
 
11
function connection( qString ) 
11
function connection( qString ) {
12
{
12
    /*Create the Object*/
13
    /*Create the Object*/
13
    try {
14
    try {
14
        var req = new XMLHttpRequest();
15
        var req = new XMLHttpRequest();
-
 
16
        req.overrideMimeType("text/xml");
15
        req.overrideMimeType("text/xml");
17
    }
16
    }catch (e){
18
    catch (e){
17
        alert('Error creating the connection!');
19
        alert('Erreur lors de la création de la connection!');
18
        return;
20
        return;
Line 19... Line 21...
19
    }
21
    }
20
 
22
 
21
    try {
23
    try {
22
        //Set Permission only in case of direct connection
24
        //Set Permission only in case of direct connection
-
 
25
        if(connectionType == "direct") {
-
 
26
            netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
-
 
27
        }
-
 
28
        
-
 
29
        req.open("GET",qString,true);
23
        if(connectionType == "direct") {
30
        req.send(null);
24
            netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
-
 
25
    }
-
 
26
 
-
 
27
    req.open("GET",qString,true);
-
 
28
    req.send(null);
31
        
29
 
32
    }
30
    } catch (e) {
33
    catch (e) {
31
        alert('An error has occured: '+e);
34
        alert('An error has occured: '+e);
32
        return;
35
        return;
33
    }
36
    }
34
 
37
    
35
    //TimeOut
38
    //TimeOut
36
    var iter = timeOut;
39
    var iter = timeOut;
37
    var loaded = false;
40
    var loaded = false;
38
 
41
    
39
    var checkLoad = function () {
42
    var checkLoad = function () {
40
        if(loaded) {
43
        if(loaded) {
41
            clearInterval(intervalID);
44
            clearInterval(intervalID);
42
        } else if(iter == 0) {
45
        } else if(iter == 0) {
43
            reqAbort();
46
            reqAbort();
44
            alert('Connection has timed out. Aborted after '+ timeOut + ' seconds');
47
            alert('Connection has timed out. Aborted after '+ timeOut + ' seconds');
45
        } else {
48
        } else {
46
            iter--;
49
            iter--;
47
        }
50
        }
48
    };
51
    };
49
 
52
    
50
    var intervalID =  setInterval(checkLoad,1000);
53
    var intervalID =  setInterval(checkLoad,1000);
-
 
54
    
51
 
55
    function stopConnection(e) 
52
    function stopConnection(e) {
56
    {
53
        if(e.keyCode == 27 && req) {
57
        if (e.keyCode == 27 && req) {
54
            reqAbort();
58
            reqAbort();
Line 55... Line 59...
55
        }
59
        }
-
 
60
    }
56
    }
61
 
57
 
62
    function reqAbort() 
58
    function reqAbort() {
63
    {
Line 59... Line 64...
59
        if(req) req.abort();
64
        if(req) req.abort();
-
 
65
        clearInterval(intervalID);
60
        clearInterval(intervalID);
66
    }
61
    }
67
 
62
 
68
    req.onload = function() 
63
    req.onload = function() {
69
    {
64
        switch(req.readyState) {
70
        switch(req.readyState) {
65
            case 1,2,3:
71
            case 1,2,3:
66
            break;
72
            break;
67
            case 4:
73
            case 4:
68
                loaded = true;
74
                loaded = true;
69
                if(req.status !=200) {
75
                if(req.status !=200) {
70
                    alert('The server respond with a bad status code: '+req.status);
76
                    alert('The server respond with a bad status code: '+req.status);
71
                } else {
77
                } else {
72
                    //Work around for Moz 1.3
78
                    //Work around for Moz 1.3
73
					parseCallback( req.responseText );
79
                    parseCallback( req.responseText );
74
                }
80
                }