Ankündigung

Einklappen
Keine Ankündigung bisher.

Javascript und Browser RAM Verbrauch

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Javascript und Browser RAM Verbrauch

    Hallo, ich habe folgenden Javascript in meinem Browser am laufen und ich stelle fest das nach einigen Stunden der Ram immer langsam ansteigt, das wird solange weiter ansteigen bis irgendwann 100% erreicht sind und der browser abstuertzt und ich frage mich jetzt ob das bei allen Javascript Entwicklungen so ist das die nach einer laengeren Zeit immer den RAM Verbrauch vom Browser nach oben geht oder ob man mein Code verbessern kann damit das nicht mehr passiert:

    Was ich am meisten benutze im Code ist eine Ajax JQuery Funktion zum lesen einer Datei und es wird immer nach 2 Sekunden der komplette Codeblock neu durchgefuehrt, ingesamt ist das eine Loesung von mir um Charts von Crypto Currencys immer neu zu downloaden.

    Code:
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
    <script type="text/javascript">
    var Programstart=0;
    var Zaehler=0;
    var ZaehlerCoinsIndex=0;
    var AnzahlArrayIndexe=0;
    
    
    //--check json syntax
    function isJson(item) 
    {
        item = typeof item !== "string"
            ? JSON.stringify(item)
            : item;
    
        try {
            item = JSON.parse(item);
        } catch (e) {
            return false;
        }
    
        if (typeof item === "object" && item !== null) {
            return true;
        }
    
        return false;
    }
    
    
    //--Objecte nur bei start erstellen, spart vielleicht Resourcen
    if(Programstart==0)
    {
      var xhttp3 = new XMLHttpRequest();
      var xhttpvier = new XMLHttpRequest();
      var Downloadliste_Coins_Object = new Object();
      console.log("Program started");
    }
    Programstart=1;
    
    
    
    
    //-- Server Funktion, ladet sich immer von neu          
    function ServerFunktion()
    {
         DownloadCoins();
         document.getElementById("test").innerHTML = "Zaehler "+Zaehler;
    
         //---- 1000 = 1 sekunde
         setTimeout(ServerFunktion, 2000);
    }
    
    
    
    
    //----
    function DownloadCoins()
    {
        //--Coins in Array Object
        if(Zaehler==0)
        {
            //-- Coinnamen into Array
            var Downloadliste_Textinhalt = $.ajax({ url: "Downloadliste_CoinsToken.txt", contentType:"application/json", dataType:"json", async: false }).responseText;
            if(isJson(Downloadliste_Textinhalt)==true)
            {
               Downloadliste_Coins_Object = JSON.parse(Downloadliste_Textinhalt);
            }//json Check
            else alert("Download Liste json synatx error");        
    
        }
        //--Bitcoins Charts
        else if(Zaehler==1)
        {
            //--Bitcoin
            //console.log($.ajax({ url: strurl, contentType:"application/json", dataType:"json", async: false }).responseText);
            var strurl="Save_Chartdata_Poloniex.php?symbol=USDT_BTC&name=Bitcoin";
            $.ajax({ url: strurl, contentType:"application/json", dataType:"json", async: false });
        }
        else if(Zaehler==2)
        {    
            //--Bitcoin
            var strurl="Save_Chartdata_Binance.php?symbol=BTCUSDT&name=Bitcoin";
            $.ajax({ url: strurl, contentType:"application/json", dataType:"json", async: false });
        }
        //-- USD Charts
        else if(Zaehler>2)
        {
            var Anzahl=Downloadliste_Coins_Object.Coins.length;
            var str=Object.keys(Downloadliste_Coins_Object);
            if(str.indexOf("Coins")>=0)
            {
                //console.log("Anzahl "+Anzahl+"  "+Downloadliste_Coins_Object.Coins[ZaehlerCoinsIndex].broker+"  "+Downloadliste_Coins_Object.Coins[ZaehlerCoinsIndex].name+"  "+Downloadliste_Coins_Object.Coins[ZaehlerCoinsIndex].symbol);
                if(Downloadliste_Coins_Object.Coins[ZaehlerCoinsIndex].broker=="Poloniex")
                {
                   var strurl="Save_Chartdata_Poloniex.php?symbol=BTC_"+Downloadliste_Coins_Object.Coins[ZaehlerCoinsIndex].symbol+"&name="+Downloadliste_Coins_Object.Coins[ZaehlerCoinsIndex].name;
                   var res=$.ajax({ url: strurl, contentType:"application/json", dataType:"json", async: false }).responseText;
                   document.getElementById("test2").innerHTML = res;
                }
                else
                if(Downloadliste_Coins_Object.Coins[ZaehlerCoinsIndex].broker=="Binance")
                {
                  var strurl="Save_Chartdata_Binance.php?symbol="+Downloadliste_Coins_Object.Coins[ZaehlerCoinsIndex].symbol+"BTC&name="+Downloadliste_Coins_Object.Coins[ZaehlerCoinsIndex].name;
                  var res=$.ajax({ url: strurl, contentType:"application/json", dataType:"json", async: false }).responseText;
                  document.getElementById("test2").innerHTML = res;
                }
    
                //--Zaehler Array Index
                ZaehlerCoinsIndex++;
    
                //--Zaehler zurueck setzen
                if(ZaehlerCoinsIndex>=Anzahl)
                {
                    Zaehler=0;
                    ZaehlerCoinsIndex=0;
                }
            }
        }
        Zaehler++;
    }
    </script>
    <html>
    <body onload="ServerFunktion()">
    
    <span id="test"></span>
    <span id="test1"></span>
    </body>
    </html>

Lädt...
X