Tabella caricata via Ajax - Firefox: 5 secondi, Chrome 10, IE 11 quasi 3 minuti

Ho un pannello di controllo che serve per generare dinamicamente dei report, anche MOLTO complessi.

Una situazione tipica, purtroppo, capita ad uno molto in alto nella catena alimentare … per cui devo risolvere questa cosa.

La sua ‘configurazione’ tipica di uso genera una tabella che pesca dati da quasi 30 diverse fonti, tra tabelle su DB e report xls pescati dalla rete internet o dalla rete interna.

Una volta premuto il tasto ‘genera’, via ajax viene caricata la tabella risultante.

Il server ci mette meno di 3 secondi a generare tutto, 1 la rete a trasferirlo al pc, dopodiche

  • gli utenti con firefox in meno di 2 secondi (aggiuntivi agli altri 3 + 1) vedono la loro bella tabella, formattata e il browser è usabile

  • gli utenti chrome ce ne mettono altri 6 scarsi

  • ho un unico utente che impiega quasi 3 minuti di orologio col suo ie 11, che usa nonostante TUTTI gli abbiano detto di non farlo, e che, come dicevo sopra, è troppo in alto nella catena alimentare per potermi permettere di fargli cambiare browser.

quello che chiedo a voi e se sapete perchè diavolo Ie ci mette tanto, cosa cambia? ho provato sulla mia macchina di sviluppo, un pc scarso, a mettere ie11 e mi capita la stessa cosa, anzi, se cerco di cliccare ‘altrove’ ie11 si blocca e windows 7/8/8.1u1 propongono di uccidere ie11

Come dicevo, il caricamento avviene via ajax, usando jquery.

semplicemente uso il metodo $.ajax e una volta rilevato il successo della cosa, prendo i dati ricevuti e usao


$(".classe_del_div_che_ospita_la_tabella").html(dati_ricevuti)

Accettasi altri suggerimenti.

Il problema è che essendo tutto così complesso (c’è anche un sistema per salvare la configuraziona a db, e questa pagina condivide il codice con altre 4 talmente simili da usare la stessa base di codice), dicevo, è così complessa la cosa che non posso ‘al volo’ passare da pannello + ajax + tabella a una normale pagina con un form che invia tramite post le opzioni e ricarica se stessa, devo riscrivere tutto.

Per cui desidero capire dove sta il problema.

Help ! :)

Il problema sta in IE, non è nuovo a problemi di performance nella generazione di DOM.

La cosa migliore sarebbe costruire l’html dai dati grezzi, tipo in JSON, con una serie di append() o con una libreria già pronta, se proprio non puoi penso che l’unica sia tentare utilizzando la funzione innerHTML() nativa, magari solo per IE…