Hi, I have an HTML page which uses AJAX to load in information from
Yahoo finance via CSV files and one AJAX call that calls a PHP file
and performes some screen scraping.

The problem: When these AJAX calls are performing their task it
becomes impossible to click any links on the page. It freezes IE7
completly, the loading GIF images freeze and it akes ages for the link
clicked to load.

Works perfectly in FF and Safari. Any ideas???

The code:

JavaScript:

function fetch(){

        var a = $.ajax({
    type: "GET",
        async:true,
    url: "retreive.stock.php",
    dataType: "xml",
    success: parseXml
        });
        function parseXml(xml){
        for (i=0;i<=4;i++){
                document.getElementById('index0'+i).innerHTML =
xml.getElementsByTagName("index")[i].firstChild.nodeValue;
                document.getElementById('change0'+i).innerHTML =
xml.getElementsByTagName("change")[i].firstChild.nodeValue;
                
if(xml.getElementsByTagName("change")[i].firstChild.nodeValue.charAt
(0) == "+"){document.getElementById('img0'+i).innerHTML="<img
src='images/arrowup.png' width='12' height='6'>";}
                
if(xml.getElementsByTagName("change")[i].firstChild.nodeValue.charAt
(0) == "-"){document.getElementById('img0'+i).innerHTML="<img
src='images/arrowdown.png' width='12' height='6'>";}
        }
        $(".loader").hide();
        $("#stockDiv").show();
        }

        var b = $.ajax({
    type: "GET",
        async:true,
    url: "retreive.currency.php",
    dataType: "xml",
    success: parseXmlCur
        });
        function parseXmlCur(xmlCur){
        for (x=0;x<=11;x++){
                document.getElementById("c"+x).innerHTML =
xmlCur.getElementsByTagName("value")[x].firstChild.nodeValue;
        }
        $(".loaderCur").hide();
        $("#currencyDiv").show();
        }

        var c = $.ajax({
    type: "GET",
        async:true,
    url: "retreive.commodities.php",
    dataType: "xml",
    success: parseXmlCom
        });
        function parseXmlCom(xmlCom){

        //document.getElementById("val0").innerHTML =
xmlCom.getElementsByTagName("value")[0].firstChild.nodeValue;
        //document.getElementById("cnge0").innerHTML =
xmlCom.getElementsByTagName("change")[0].firstChild.nodeValue;
        for (x=0;x<=4;x++){

                document.getElementById("val"+x).innerHTML =
xmlCom.getElementsByTagName("value")[x].firstChild.nodeValue;
                document.getElementById("cnge"+x).innerHTML =
xmlCom.getElementsByTagName("change")[x].firstChild.nodeValue;
                if(xmlCom.getElementsByTagName("change")
[x].firstChild.nodeValue.charAt(0) == "+")
                {document.getElementById('imgCom0'+x).innerHTML="<img 
src='images/
arrowup.png' width='12' height='6'>";}
                if(xmlCom.getElementsByTagName("change")
[x].firstChild.nodeValue.charAt(0) == "-")
                {document.getElementById('imgCom0'+x).innerHTML="<img 
src='images/
arrowdown.png' width='12' height='6'>";}
        }
        $(".loaderCom").hide();
        $("#commoditiesDiv").show();
        }

        var d = null;


        d = $.ajax({
    type: "GET",
        async:true,
    url: "retreive.libor.php",
    dataType: "xml",
    success: parseXmlLib
        });
        function parseXmlLib(xmlLib){
        for (x=0;x<=3;x++){
                document.getElementById("lib"+x).innerHTML =
xmlLib.getElementsByTagName("rate")[x].firstChild.nodeValue;
        }
        $(".loaderLib").hide();
        $("#liborDiv").show();
        }

}



Thanks very much!

Tom

Reply via email to