/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
IE javascript string konkatanering
Fra : Michael Sig Birkmose


Dato : 01-12-04 10:30



 
 
Per Thomsen (01-12-2004)
Kommentar
Fra : Per Thomsen


Dato : 01-12-04 09:59

Michael Sig Birkmose wrote:
> Hejsa,
>
[klip]
>
> Problemmer er bare at jeg i min algoritme laver en hel del
>
> html += 'etellerandet';
>
> I mozilla, opera, netscape går det fint - god hastighed.
[klip]
>
> Men IE forstår det ikke? har også prøvet med lang.StringBuffer(),
> java.StringBuffer() og bare StringBuffer();
>
> Nogen ide om hvordan jeg får en mere effektiv konkatanering i IE?
>

Problemet svjv er at hvergang du konkatener en streng i IE, så laver den
en kopi af den oprindelige streng og lægger den nye til.

Jeg har før set hastighedsforøgelser, ved at bruge et array i stedet for:

var arrHtml = new Array();
arrHtml[arrHtml.length] = 'noget html ';
arrHtml[arrHtml.length] = 'noget mere ';
....
arrHtml[arrHtml.length] = 'og det sidste';

var strHtml = arrHtml.join(''); // evt.'\n' for læsbarheden

MVH Per Thomsen,
http://www.pert.dk/

Michael Sig Birkmose (01-12-2004)
Kommentar
Fra : Michael Sig Birkmose


Dato : 01-12-04 11:17



Martin Hintzmann And~ (01-12-2004)
Kommentar
Fra : Martin Hintzmann And~


Dato : 01-12-04 12:23

Michael Sig Birkmose wrote:
>> Jeg har før set hastighedsforøgelser, ved at bruge et array i stedet for:
>>
>> var arrHtml = new Array();
>> arrHtml[arrHtml.length] = 'noget html ';
>> arrHtml[arrHtml.length] = 'noget mere ';
>> ...
>> arrHtml[arrHtml.length] = 'og det sidste';
>>
>> var strHtml = arrHtml.join(''); // evt.'\n' for læsbarheden
>>
>
> Jep det var det - før tog det ca. 10 sekunder, nu tager det ca 1 sekund :)
> Takker

Man kan også bruge push på array'et, istedet for at spørge på længden af
det hver gang.
http://www.devguru.com/Technologies/ecmascript/quickref/push.html

Eksempel

var arrHtml = new Array();
arrHtml.push('noget html ');
arrHtml.push('noget mere ');
....
arrHtml.push('og det sidste');

var strHtml = arrHtml.join(''); // evt.'\n' for læsbarheden

--
Martin Hintzmann Andersen
http://www.hintzmann.dk/

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste