
рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ, рдХрд╛рд░реНрдп jQuery рдФрд░ Google рдмрдВрдж рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рддреБрд▓рдирд╛рддреНрдордХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реБрдЖ рдерд╛ред рдореБрдЦреНрдп рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдереА, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрди рджреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдЧрддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдереАред рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬреНрдЮрд╛рди рдиреЗ рд╣рдореЗрдВ рдзрд╛рд░рдгрд╛ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА, рд▓реЗрдХрд┐рди рдкрд░реАрдХреНрд╖рд╛ рдкрд░рд┐рдгрд╛рдо рдореЗрд░реЗ рд▓рд┐рдП рдХреБрдЫ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдереЗ, рдФрд░ рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдЙрдиреНрд╣реЗрдВ рд╣рдмрд░ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рдерд╛ред
рдкрд░реАрдХреНрд╖рдг рд╕рдВрдЧрдарди
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддреБрд▓рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ "рдкрд░реАрдХреНрд╖рдг рдЗрдВрдЬрди" рдмрдирд╛рдирд╛ рдерд╛ - рдХреЛрдб рдХреА рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛ рдореБрдЭреЗ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рдереАрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рдирдВрдЧреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдПрдХ рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдкреНрд░рджрд░реНрд╢рди (рдЪрд▓реЛ рдЗрд╕реЗ рджреЗрд╢реА-рдХреЙрд▓ рдХрд╣рддреЗ рд╣реИрдВ) рдФрд░ рдПрдХреНрд╕рдЯреАрдЬреЗрдПрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рднреА рддреБрд▓рдирд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдХреЛрдИ рдФрд░ рдХреБрдЫ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рддрдм рдореЗрд░реЗ рдЬреНрдЮрд╛рди рдХрд╛ рднрдВрдбрд╛рд░ рдЦрддреНрдо рд╣реЛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдореИрдВ рд╕рд┐рд░реНрдл рдкрд░реАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЕрдзреНрдпрдпрди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
рдХреЛрдИ рдЪрд╛рд▓ рдирд╣реАрдВ рд╣реИ рдФрд░ рдкрд░реАрдХреНрд╖рдг рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рдмрд╕реЗ рдЖрджрд┐рдо рд╣реИред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдк рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдмрд╕ рдЖрд╡рд╢реНрдпрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЧрддрд┐ рд▓реМрдЯрд╛рддрд╛ рд╣реИ - рдкреНрд░рддрд┐ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд╕рдВрдЪрд╛рд▓рди рдХреА рд╕рдВрдЦреНрдпрд╛:
runTest = function(test, count){ var start = new Date().getTime(); for(var i=1;i<count;i++) test(); var end = new Date().getTime(); var time = end - start; return count/time; }
рд╡рд┐рднрд┐рдиреНрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрдИ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдЬреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рд╕рдореВрд╣ рд▓реЗрддрд╛ рд╣реИ:
runGroup = function(label, tests, count){ var res = {}; for(var key in tests) res[key] = runTest(tests[key], count); saveResult(label, res); }
рдЗрд╕рдиреЗ рд╣рдореЗрдВ "рджреГрд╢реНрдп" рд░реВрдк рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА:
runGroup(' ',{ "native": function1, "jQuery": function2, "closure": function3, "extJS": function4 })
рдЦреИрд░, рдпрд╣ рд╕рдм рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдХрдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдФрд╕рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рджреГрд╢реНрдп рдзрд╛рд░рдгрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрдВрджрд░ рдкреНрд▓реЗрдЯ рдЦреАрдВрдЪрддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдг рдкреГрд╖реНрда рдХрд╛ рдкреВрд░рд╛ рдХреЛрдб рдиреАрдЪреЗ рд╣реЛрдЧрд╛ред
рдкрд░реАрдХреНрд╖рдг рд╕рдВрдЪрд╛рд▓рди
рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдЪреБрдирд╛рд╡ рд╡рд┐рд╖рдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдкрд░рд┐рдЪрд╛рд▓рди рдХрд╛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдЬрдм рдПрдирд┐рдореЗрдЯреЗрдб рд╡реЗрдм рдкреЗрдЬ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ред рдкреНрд░рддреНрдпреЗрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рднреА, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╕рдмрд╕реЗ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реИ - рдореИрдВ рд▓рдЧрд╛рддрд╛рд░ рдЕрдкрдиреЗ рдФрд░ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рдХреЛрдб рдореЗрдВ рдРрд╕реЗ рдЯреБрдХрдбрд╝реЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддрд╛ рд╣реВрдВред
рдПрдХ рдЖрдЗрдЯрдо рдЖрдИрдбреА рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдВ
рд╢рд╛рдпрдж рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреЛрдЬ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рднреА рд╡реЗрдм рдкреЗрдЬ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬ рд╕рдмрд╕реЗ рдЗрд╖реНрдЯрддрдо рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
document.getElementById('id');
рд╡рд░реНрдЧ рджреНрд╡рд╛рд░рд╛ рд╡рд╕реНрддреБрдУрдВ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВ
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдЦреЛрдЬ рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИред рдЕрдХреНрд╕рд░ рдЖрдкрдХреЛ рддрддреНрд╡реЛрдВ рдХреЛ рдЕрдзрд┐рдХ "рдкрд░рд┐рд╖реНрдХреГрдд" рддрд░реАрдХреЗ рд╕реЗ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ред рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХрдХреНрд╖рд╛ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдЦреЛрдЬ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛:
document.getElementsByClassName('class');
рдЖрдЗрдЯрдо рдЬреЛрдбрд╝реЗрдВ
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдкрдХреЛ рдкреГрд╖реНрда рдореЗрдВ рддрддреНрд╡ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рд╢рд░реАрд░ рдореЗрдВ рд╕реАрдзреЗ рдЙрд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реНрдкреИрди рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣рд╛рдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдХреЛрдб рдЙрдирдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╕реЗ рдХрд╛рдлреА рд▓рдВрдмрд╛ рд╣реИ:
goog.dom.appendChild(document.body, goog.dom.createDom('span',{class:'testspan'}));
рддрддреНрд╡ рд╡рд░реНрдЧ рдкрд░рд┐рднрд╛рд╖рд╛;
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рддрддреНрд╡реЛрдВ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдХреНрд╕рд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдореИрдВрдиреЗ рддрддреНрд╡ рдХреЛ рд╕реМрдВрдкреА рдЧрдИ рдХрдХреНрд╖рд╛рдУрдВ рдХреА рд╕реВрдЪреА рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рдЪреБрдирд╛ (рддрддреНрд╡ рдХреЛ рдкрд░реАрдХреНрд╖рдг рдЪрдХреНрд░ рдХреЗ рдмрд╛рд╣рд░ рдЦреЛрдЬрд╛ рдЧрдпрд╛ рдерд╛):
nElement.getAttribute('class').split(' ');
рддрддреНрд╡ рд╡рд░реНрдЧ рдкрд░рд┐рд╡рд░реНрддрди
рдЖрдорддреМрд░ рдкрд░ рдЖрдкрдХреЛ рдПрдХ рд╡рд░реНрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - рдЖрдкрдХреЛ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдпрд╛ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдЯреЙрдЧрд▓ рд╡рд┐рдзрд┐ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдирдВрдЧреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдореБрдЭреЗ рдПрдХ рдкреВрд░реА рдЧрдбрд╝рдмрдбрд╝ рд▓рд┐рдЦрдиреА рдереА:
goog.dom.classes.toggle(gElement, 'testToggle');
рдЖрдЗрдЯрдо рд╢реИрд▓реА рдмрджрд▓реЗрдВ
рдЦреИрд░, рдПрдХ рддрддреНрд╡ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдСрдкрд░реЗрд╢рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реАрдПрд╕рдПрд╕ рдЧреБрдг рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реИ:
nElement.style.backgroundColor = '#aaa';
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкреГрд╖реНрда рдорд┐рд▓рд╛, рдЬрд┐рд╕рдХрд╛ рдкреВрд░рд╛ рдкрд╛рда рд╕реНрдкреЙрдЗрд▓рд░ рдХреЗ рдиреАрдЪреЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕реА CDN (jQuery рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдг 1.10.2, ExtJs рдХреЗ рд▓рд┐рдП 4.2.0 рдФрд░ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрд░рдВрдХ рд╕рдВрд╕реНрдХрд░рдг) рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХреЛрдИ рднреА рдЗрд╕реЗ html рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкрд░реАрдХреНрд╖рдг рджреЛрд╣рд░рд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЕрдкрдиреА рдЦреБрдж рдХреА рдХреБрдЫ рдЪреАрдЬрд╝реЛрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред
рд▓рдВрдмрд╛ HTML <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script> <script src='http://closure-library.googlecode.com/svn/trunk/closure/goog/base.js'></script> <script src="http://cdn.sencha.com/ext/gpl/4.2.0/ext-all.js"></script> <script> goog.require('goog.dom'); goog.require('goog.dom.classes'); goog.require('goog.style'); </script> <style> table{border-collapse:collapse;} th {font-size:120%; } td {border: solid black 1px; width: 180px; height: 60px; text-align: center; } .rowlabel {width: 120px; text-align: left; background-color: beige;} .avg {font-weight: bold; font-size:120%; color: darkblue;} </style> <title>Benchmark</title> </head> <body> <div id="testid" class="testclass"></div> <button onclick="getBenchmark()">Run</button> <table id="result"></table> </body> </html> <script> var runCount = 4; </script>
рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдо
рдореИрдВрдиреЗ рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рддрд╣рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рддрджрдиреБрд╕рд╛рд░, рдореИрдВрдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХреАред рдиреАрдЪреЗ рджреА рдЧрдИ рдЧреЛрд▓рд┐рдпреЛрдВ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо (рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдкреНрд░рддрд┐ рдСрдкрд░реЗрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛)ред (рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдореЗрдВ рдмреЛрд▓реНрдб рдореЗрдВ рдЪрд╛рд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдФрд╕рдд рдореВрд▓реНрдп рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдорд╛рди)ред
рдХреНрд░реЛрдо
рд╕рдВрд╕реНрдХрд░рдг 28.0.1500.72

рдУрдкреЗрд░рд╛
рд╕рдВрд╕реНрдХрд░рдг 12.10.1652

рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕
рд╕рдВрд╕реНрдХрд░рдг 22.0

рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░
рд╕рдВрд╕реНрдХрд░рдг 9.0.8112.16421

рдкрд░рд┐рдгрд╛рдо
рддреБрд▓рдирд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЪрд╛рд░реНрдЯ рдкрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХреНрд░реЛрдо рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдкрд░рд┐рдгрд╛рдо рд╕рд╛рдорд╛рдиреНрдп рдХрд┐рдП рдЧрдП рдереЗ рддрд╛рдХрд┐ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдореВрд╣ рдПрдХ рд╣реА рдЪрд╛рд░реНрдЯ рдкрд░ рдлрд┐рдЯ рд╣реЛрдВ)ред рдЪрд╛рд░реНрдЯ рдкрд░ рдЬрд┐рддрдиреА рд▓рдВрдмреА рдмрд╛рд░, рдЙрддрдиреА рддреЗрдЬрд╝:

рдЬреИрд╕рд╛ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рдерд╛, jQuery рдкрд░ DOM рдХрд╛ рд╣реЗрд░рдлреЗрд░ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдзреАрдорд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░рд┐рдорд╛рдг рдХреЗ рдПрдХ рдХреНрд░рдо рд╕реЗ рдЕрдВрддрд░ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛ред рд▓реЗрдХрд┐рди jQuery рдФрд░ рдХреНрд▓реЛрдЬрд░ рджреЛрдиреЛрдВ рдкрд░ рддрддреНрд╡реЛрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддреЛрдбрд╝ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реИрдВ (рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ extJS рд╕реЗ рд╣реАрди рд╣реИрдВ, рдЬреЛ, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, DOM рдХреЛ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЦреЛ рджреЗрддрд╛ рд╣реИ)ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмрд╛рдж jQuery рдореЗрдВ рдореЗрд░рд╛ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреБрдЫ рд╣рдж рддрдХ рд╣рд┐рд▓ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди, рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрди рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕реЗ рджреВрд░рдЧрд╛рдореА рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓реЗ рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП - рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рд╕рд╛рдореВрд╣рд┐рдХ рдирд┐рд╖реНрдкрд╛рджрди рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдпрд╣ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕рд╛рдзрдиреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдФрд░ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИрдВред рдХрд╛рд░реНрдпред рдХреЛрдИ рднреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдбреЛрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрд╢реА рддрд░реАрдХреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд▓рдЧрд╛рддреА рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк рд╕рднреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд░реИрдкрд░реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛ рд╣рдореЗрд╢рд╛ рдЙрди рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВред