Fondamentalmente ho una tabella enorme, che diventa ancora più grande quando l'utente scorre verso il basso (pre-caricando automaticamente le righe successive). Ad un certo punto il browser diventa lento, inizia a bloccarsi per un momento mentre faccio clic o cerco di scorrere e più lento diventa, più file ottiene. Mi chiedo se c'è un limite al numero di elementi che la pagina può contenere? O forse è solo il mio javascript che perde da qualche parte (anche se ho un solo gestore di eventi, attaccato al tbody del tavolo - e uno script che analizza gli eventi ribolliti di mousedown).Esiste un limite al numero di elementi html, che il browser può visualizzare senza problemi?
Aggiornamento: Il ritardo diventa evidente dopo migliaia di righe caricate. La velocità di scorrimento è abbastanza sopportabile, ma ad esempio l'evidenziazione della riga cliccata (con l'aiuto di un singolo gestore di eventi su tbody) è dolorosa (occorrono almeno 2-3 secondi e il ritardo aumenta con il numero di righe). Osservo il ritardo su tutti i browser. Non sono solo io, ma quasi tutti quelli che visitano la pagina, quindi credo che in qualche modo colpisca ogni piattaforma.
Aggiornamento: mi si avvicinò con semplice esempio qui: http://client.infinity-8.me/table.php?num=1000 (si può passare qualunque sia il numero che si desidera num), in fondo si rende un tavolo con num righe e ha un unico gestore di eventi collegato a un tabella genitore. Dovrei concludere da questo, che in realtà non vi è alcun calo sensibile delle prestazioni, causato dal numero di elementi figli. Quindi è probabilmente una perdita da qualche altra parte :(
per la risposta completa inserisci il tuo codice/url per favore (è tutto indovinabile senza questo) – galambalazs
Ok, non riesco a postare il link alla pagina originale, dal momento che non è pubblico. Verrò con qualche pagina di esempio. – jayarjo
Non sarei ** in disaccordo ** sul fatto che non ci sia un calo visibile delle prestazioni ** in IE **. Se si imposta su 1, quindi resettato su 2000, c'è un ritardo di 2-3 secondi prima che la tabella inizi a rendering (poiché come indicato di seguito nella mia risposta, IE attende di caricare l'intera tabella prima di renderla) – scunliffe