From c0037f1882dd3b669e0ac49dac272cf26435015e Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Fri, 2 May 2014 11:40:10 +0200 Subject: Improve rcube_find_object() performance by prefering getElementById() as this is the most common case --- program/js/common.js | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'program/js/common.js') diff --git a/program/js/common.js b/program/js/common.js index 6b7d3240e..48e85558f 100644 --- a/program/js/common.js +++ b/program/js/common.js @@ -472,21 +472,25 @@ function urlencode(str) function rcube_find_object(id, d) { var n, f, obj, e; - if(!d) d = document; - if(d.getElementsByName && (e = d.getElementsByName(id))) + if (!d) d = document; + + if (d.getElementById) + if (obj = d.getElementById(id)) + return obj; + + if (!obj && d.getElementsByName && (e = d.getElementsByName(id))) obj = e[0]; - if(!obj && d.getElementById) - obj = d.getElementById(id); - if(!obj && d.all) + + if (!obj && d.all) obj = d.all[id]; - if(!obj && d.images.length) + if (!obj && d.images.length) obj = d.images[id]; if (!obj && d.forms.length) { for (f=0; f