Le prestazioni JavaScript in Internet Explorer fanno schifo. Nessuna novità lì. Tuttavia ci sono alcuni suggerimenti e trucchi per accelerarlo. Ad esempio, c'è questo threepartseries. Ancora mi ritrovo incapace di spremere prestazioni decenti fuori di esso. Forse alcuni di voi hanno un'idea di cos'altro fare in modo che fosse più veloce?Problemi relativi alle prestazioni Javascript di Internet Explorer
Quello che voglio fare è creare un tavolo di medie dimensioni da zero in Javascript. Di ', 300 righe, 10 celle ciascuna. Per farlo, ci vogliono circa 5-6 secondi sul mio computer. OK, scontato, è un rig di 5 anni, ma è ancora troppo. Ecco il mio codice fittizio:
<html>
<body>
<script type="text/javascript">
function MakeTable(parent)
{
var i, j;
var table = document.createElement('table');
var insertRow = table.insertRow;
for (i = 0; i < 300; i++)
{
var row = insertRow(-1);
for (j = 0; j < 10; j++)
{
var cell = row.insertCell(-1);
cell.innerHTML = i + ' - ' + j;
}
}
parent.appendChild(table);
}
</script>
<div onclick="MakeTable(this);">Click Me!</div>
</body>
</html>
Aggiunto: Hmm, a quanto pare stringa di concatenazione (con Array.join) è l'unico modo per andare. Beh, triste, certo. Speravo di farlo con il "giusto" DOM-way. :)
WTF? Stai perdendo gli ultimi elementi dell'array ... –
Ecco perché ho detto "Ovviamente questo lascia il resto se diviso per 4" .. –