Bonjour,
j'ai un petit souci avec le moteur Javascript de IE6...
En effet, je souhaite cr�er une dizaine de milliers de cellules de tableau (td), j'ai donc test� plusieurs m�thodes et j'aimerai savoir s'il y en a une plus optimale encore.
Pourquoi? Parce que IE6 est super lent. L� ou Chrome / FF mettent 1 � 3 secondes, IE en met une bonne vingtaine.
Je suis pass� par Prototype au d�part mais j'ai vite abandonn�, plus d'une minute sur IE
Voici donc la solution que j'ai adopt� :
Ceci n'est qu'un exemple simplifi� bien s�r mais refl�te bien ma probl�matique.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 var table = document.createElement('table'); var tbody = document.createElement('tbody'); table.appendChild(tbody); var trTemplate = document.createElement('tr'); var tdTemplate = document.createElement('td'); for(var i = 0; i < 100; i++) { var tr = trTemplate.cloneNode(false); tr.id = i; for(var j = 0; j < 500; j++) { var td = tdTemplate.cloneNode(false); td.id = i + '_' + j; td.innerText = i + '_' + j; tr.appendChild(td); } tbody.appendChild(tr); } document.body.appendChild(table);
J'ai fais le test en faisant un createElement par boucle, mais c'est se tirer une balle dans le pied. C'est donc comme �a que je suis venu a utiliser cloneNode.
Petites pr�cisions :
- me dite pas de changer de navigateur, vous perdez votre temps, c'est impossible
- A faire en JS car le faire en PHP mettrait le serveur � genou �tant donn� qu'� terme, il y aura une bonne dizaine de connexions simultan�es au serveur
P.S : Test Chrome : 700ms ; Test IE8 : 8 secondes![]()
Partager