Portál AbcLinuxu, 16. prosince 2025 02:26
Gratuluji k umění použít tučné písmo a kurzívu.Grafomanie - je jednou z mnoha diagnoz, na me osobe prokazanych....
) (co prelozit tiez chvilu trva).
Myslim, ze by autory jQuery nezabilo, kdyby pouzili nejakou standalone knihovnu implementujici kompletni XPath (ajaxslt?).
A kdyz uz jsme u XPath. CSS working group by mohla zapracovat na standardizaci pouziti XPath selektoru v CSS (i kdyz nekdy jsou klasicke CSS selektory lepsi). Bylo by to brutalni combo. A vzhledem k tomu, ze prakticky kazdy mainstream prohlizec XPath umi, nemuselo by s tim byt tolik prace. Ale to je asi moc radikalni navrh...
Výsledky pro mozillu firefox 2:
0.093 ms/pass for benchmark_direct() /* přímé adresování elementu přes globální namespace JS (nestandardní, původně jen MSIE) */
0.049 ms/pass for benchmark_getelementbyid() /* W3C getElementById */
0.103 ms/pass for benchmark_document_all() /* document.all (původně jen MSIE) */
5.218 ms/pass for benchmark_jquery()
Výsledky pro mozillu msie 7:
0.422 ms/pass for benchmark_direct()
1.187 ms/pass for benchmark_w3c()
2.469 ms/pass for benchmark_document_all()
3.156 ms/pass for benchmark_jquery()
Výsledky pro konqueror 3.5.6:
0.075 ms/pass for benchmark_direct() /* překvapení, konqueror 3.5.6 uz tedy přímé adresování zvládá */
0.086 ms/pass for benchmark_getelementbyid()
0.078 ms/pass for benchmark_document_all()
3.637 ms/pass for benchmark_jquery()
Kód scriptu:
============
var PASSES = 1000;
function benchmark()
{
var time = new Date();
var ms = time.getTime();
for(var i = 0; i < PASSES; i++)
benchmark_direct();
var time = new Date();
document.getElementById('result').innerHTML += ((time.getTime() - ms)/PASSES + ' ms/pass for benchmark_direct()
');
var ms = time.getTime();
for(var i = 0; i < PASSES; i++)
benchmark_getelementbyid();
var time = new Date();
document.getElementById('result').innerHTML += ((time.getTime() - ms)/PASSES + ' ms/pass for benchmark_getelementbyid()
');
var ms = time.getTime();
for(var i = 0; i < PASSES; i++)
benchmark_document_all();
var time = new Date();
document.getElementById('result').innerHTML += ((time.getTime() - ms)/PASSES + ' ms/pass for benchmark_document_all()
');
var ms = time.getTime();
for(var i = 0; i < PASSES; i++)
benchmark_jquery();
var time = new Date();
document.getElementById('result').innerHTML += ((time.getTime() - ms)/PASSES + ' ms/pass for benchmark_jquery()
');
}
function benchmark_direct()
{
var elm1 = Licenses__$settings_license__lic_pap;
var elm2 = User__usr_username;
}
function benchmark_document_all()
{
var elm1 = document.all.Licenses__$settings_license__lic_pap;
var elm2 = document.all.User__usr_username;
}
function benchmark_getelementbyid()
{
var elm1 = document.getElementById('Licenses__$settings_license__lic_pap');
var elm2 = document.getElementById('User__usr_username');
}
function benchmark_jquery()
{
var elm1 = $('#Licenses__$settings_license__lic_pap');
var elm2 = $('#User__usr_username');
}
Hm, vida - dekuji za vasi ochotu..., zajimave,...
...,myslim si, ze jiste najdeme i jine duvody proc nemit rad MSIE. 
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.