рдпрд╣ 21 рдЬрдирд╡рд░реА 2014 рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдпреВрдЬрд░ рдЯрд╛рдЗрдорд┐рдВрдЧ рдПрдкреАрдЖрдИ рдкрд░ рдПрд▓реЗрдХреНрд╕ рдбреИрдирд┐рд▓реЛ рдХреЗ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╣реИ редрдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░рджрд░реНрд╢рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЛ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рд╡рд┐рднрд┐рдиреНрди рдПрдкреАрдЖрдИ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдП рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рджрд░реНрд╢рди, рдбрд╛рдЙрдирд▓реЛрдб рд╕рдордп рдЖрджрд┐ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд▓рдЪреАрд▓реЗрдкрди рдХреЗ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдзреАрдорд╛ рдХрд░ рджреЗрддреА рд╣реИрдВред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯрд╛рдЗрдорд┐рдВрдЧ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХрд╛ рдХреМрди рд╕рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╕рдмрд╕реЗ рдзреАрдорд╛ рд╣реИред рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдордп рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред
рдЖрдк рдЬреЛ рдорд╛рдк рдирд╣реАрдВ рд╕рдХрддреЗ, рдЙрд╕рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ
рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдореЗрдВ рдкрд╣рд▓рд╛ рдХрджрдо рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рд╕рдордп рдХрд╣рд╛рдВ рдмрд░реНрдмрд╛рдж рд╣реЛрддрд╛ рд╣реИред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЛ рдорд╛рдкрдирд╛ рд╣реЙрдЯ рд╕реНрдкреЙрдЯреНрд╕ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрджрд░реНрд╢ рддрд░реАрдХрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдкрд╣рд▓рд╛ рдХрджрдо рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ,
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯрд╛рдЗрдорд┐рдВрдЧ рдПрдкреАрдЖрдИ рдХреЛрдб рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╡рд┐рд╕реНрддреГрдд рд░рдирдЯрд╛рдЗрдо рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
рдЙрдЪреНрдЪ рд╕рдВрдХрд▓реНрдк рд╕рдордп рдФрд░ 'рдЕрдм ()'
рд╕рдЯреАрдХрддрд╛ рдПрдХ рд╕рд╣реА рд╕рдордп рдорд╛рдкрди рдХреА рдиреАрдВрд╡ рд╣реИред рдПрдХ рдмрд╛рд░ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдорд╛рдк рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рд╕рд╛рдордЧреНрд░реА рд╣реЛрдирд╛ рд╕рдВрднрд╡ рдерд╛, рд▓реЗрдХрд┐рди 60 рдПрдлрдкреАрдПрд╕ рдХреА рдЧрддрд┐ рд╕реЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╕рд╛рдЗрдЯ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдлреНрд░реЗрдо рдХреЛ 16ms рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣реА рд╣реИ, рдЧреБрдгрд╛рддреНрдордХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд╕рдЯреАрдХрддрд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП
рд╣рд╛рдИ рд░реЗрдЬреЛрд▓реНрдпреВрд╢рди рдЯрд╛рдЗрдо рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдПрдХ рдирдП рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдордп рдорд╛рдкрдиред рдЙрдЪреНрдЪ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдЯрд╛рдЗрдо рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдорд╛рдк рдХреЛ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рд╕реНрддрд░ рддрдХ рд╕рдЯреАрдХ рд╣реЛрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ - рдкрд╣рд▓реЗ рд╕реЗ рд╣рдЬрд╛рд░реЛрдВ рдЧреБрдирд╛ рдмреЗрд╣рддрд░ред
рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, '
рдЕрдм () ' рд╡рд┐рдзрд┐,
рдкреНрд░рджрд░реНрд╢рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕
рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЙрд▓ рдХрд░реЗрдВ:
var myTime = window.performance.now();
рдПрдХ рдФрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ -
рдкрд░рдлреЙрд░реНрдорд┐рдВрдЧрдЯрд┐рдорд┐рдВрдЧ , рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред PerformanceTiming рдореЗрдВ
рдиреЗрд╡рд┐рдЧреЗрд╢рдирд╕реНрдЯрд╛рд░реНрдЯ рдИрд╡реЗрдВрдЯ рдХреЗ рдмрд╛рдж 'рдЕрдм ()' рд╡рд┐рдзрд┐ рд╕рдорд╛рдкреНрдд рд╣реБрдЖ рд╕рдордп рджреЗрддрд╛ рд╣реИред
DOMHighResTimeStamp рдЯрд╛рдЗрдк рдХрд░реЗрдВ
рдЬрдм рдЖрдк рдЕрддреАрдд рдореЗрдВ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╡рдд: Date.now () рдЬреИрд╕реА рдХрд┐рд╕реА
рдЪреАрдЬ рд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗ , рдЬреЛ
DOMME рдмрд╛рд░ рд╡рд╛рдкрд╕ рдЖрддреА рд╣реИред DOMTimeStamp рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХрд╛ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИред рдЙрдЪреНрдЪ рд╕рдЯреАрдХрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
DOMHighResTimeStamp рдХрд╛ рдПрдХ рдирдпрд╛ рдкреНрд░рдХрд╛рд░ рдкреЗрд╢
рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдПрдХ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рд╣реИ, рдпрд╣ рднреА рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рд╕рдордп рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдЕрдкрдиреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдореВрд▓реНрдп рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЗ рдЖрдВрд╢рд┐рдХ рднрд╛рдЧреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЗ рдПрдХ рд╣рдЬрд╛рд░рд╡реЗрдВ рд╣рд┐рд╕реНрд╕реЗ рддрдХ рд╕рдЯреАрдХрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред
рдпреВрдЬрд░ рдЯрд╛рдЗрдорд┐рдВрдЧ рдЗрдВрдЯрд░рдлреЗрд╕
рдЕрдм рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рдЙрдЪреНрдЪ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╕рдордп рдХреЗ рдирд┐рд╢рд╛рди рд╣реИрдВ, рддреЛ рдЖрдк рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдордп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯрд╛рдЗрдорд┐рдВрдЧ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдмреНрд░реЗрдбрдХреНрд░рдВрдм рдЬреИрд╕реЗ рд╣реЗрдВрд╕реЗрд▓ рдФрд░ рдЧреНрд░реЗрдЯреЗрд▓ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИ рдЬрд╣рд╛рдВ рд╕рдордп рдХреА рд▓рд╛рдЧрдд рд╣реЛрддреА рд╣реИред
'рдЪрд┐рд╣реНрди ()' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рд╕рдордп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЯреВрд▓рдХрд┐рдЯ рдореЗрдВ '
рдЪрд┐рд╣реНрди () ' рд╡рд┐рдзрд┐ рдореБрдЦреНрдп рдЙрдкрдХрд░рдг рд╣реИред рдорд╛рд░реНрдХ () рдЖрдкрдХреЛ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдирд╛рдо рджреЗрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред
рдХреЛрдб рдХреЗ рд╡рд┐рднрд┐рдиреНрди рднрд╛рдЧреЛрдВ рдореЗрдВ рдХреЙрд▓рд┐рдВрдЧ рдорд╛рд░реНрдХ () рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдЗрд╕ рдЪрд┐рд╣реНрди рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрд╛ред
рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрдИ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд▓реЗрдмрд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ - 'mark_fully_loaded', 'mark_fully_vanish', 'mark_above_the_fold' ", рдЖрджрд┐ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЗрдмрд▓ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЖрд╡реЗрджрди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рднрд░рд╛ рд╣реБрдЖ рдерд╛:
window.performance.mark('mark_fully_loaded');
рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдирд╛рдорд┐рдд рд▓реЗрдмрд▓ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдЖрдкрдХреЛ рдЕрдкрдиреА рдореМрдЬреВрджрд╛ рд╕рдордп рд▓рд╛рдЧрддреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд░рдирдЯрд╛рдЗрдо рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред
рдорд╛рдк рдХреЗ рд╕рд╛рде рдорд╛рдк рдХреА рдЧрдгрдирд╛ ()
рдПрдХ рдмрд╛рд░ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рд╕реЗрдЯ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЙрдирдХреЗ рдмреАрдЪ рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЛ рдорд╛рдкрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП '
рдЙрдкрд╛рдп () ' рд╡рд┐рдзрд┐ рд╣реИред рдпрд╣ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдФрд░ PerformanceTiming рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдХрд┐рд╕реА рднреА рдЬреНрдЮрд╛рдд рдШрдЯрдирд╛ рдХреЗ рдмреАрдЪ рдмреАрддрд╛ рд╕рдордп рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдореЗрдВ рднреА рд╕рдХреНрд╖рдо рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк DOM рдХреЗ рдкреВрд░реНрдг рд▓реЛрдбрд┐рдВрдЧ рдФрд░ рдЙрд╕ рдХреНрд╖рдг рдХреЗ рдмреАрдЪ рдХреЗ рд╕рдордп рдХреЛ рдорд╛рдк рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ:
window.performance.measure('measure_load_from_dom', 'domComplete', 'mark_fully_loaded');
рдиреЛрдЯ: рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдИрд╡реЗрдВрдЯ рдирд╛рдо " domComplete " рдХреЛ PerformanceTiming рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИредрдХреЙрд▓рд┐рдВрдЧ рдорд╛рдк () рдЖрдЧреЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рд▓рд┐рдП рдорд╛рдк рдкрд░рд┐рдгрд╛рдо рдЙрдкрд▓рдмреНрдз рд░рдЦрддрд╛ рд╣реИред рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдбреЗрдЯрд╛ рдХреА рдмрдЪрдд, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд╛рд▓реВ рд░рд╣рддрд╛ рд╣реИ рдФрд░ рдХрд╛рдо рдХреЗ рдЕрдВрдд рдХреЗ рдмрд╛рдж рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
'ClearMarks ()' рдХреЗ рд╕рд╛рде рдЯреИрдЧ рд╣рдЯрд╛рдирд╛
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдирд╛рдП рдЧрдП рдЯреИрдЧ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдХрднреА-рдХрднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд▓реЙрдиреНрдЪ рд╕реЗ рдкрд╣рд▓реЗ рдкрд░рд┐рдгрд╛рдо рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рдмреИрдЪ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╕рдордп рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред '
ClearMarks () '
рдХрд╣рдХрд░, рдЬреЛ рднреА рдЯреИрдЧ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВ
рдЙрдирд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИред
рдпрд╣ рдХреЛрдб рд╕рднреА рдореМрдЬреВрджрд╛ рдирд┐рд╢рд╛рди рд╣рдЯрд╛ рджреЗрдЧрд╛:
window.performance.clearMarks();
рдмреЗрд╢рдХ, рдХреБрдЫ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдЖрдкрдХреЛ рд╕рднреА рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдкреНрд╕ рдХреЛ рдирд╣реАрдВ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдкрдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯреИрдЧ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЙрд╕ рдЯреИрдЧ рдХрд╛ рдирд╛рдо рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рдЖрдк рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╕реЗрдЯ рдЪрд┐рд╣реНрди рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛, рдмрд╛рдХреА рд╕рднреА рдХреЛ рдЫреЛрдбрд╝рдХрд░:
window.peformance.clearMarks('mark_fully_loaded');
рдкрд╣рд▓реЗ рд╕реЗ рдХрд┐рдП рдЧрдП рдорд╛рдкреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди рд╡рд┐рдзрд┐ 'ClearMeasures ()' рд╣реИред рдСрдкрд░реЗрд╢рди рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреНрд▓рд┐рдпрд░рдорд╛рд░реНрдХреНрд╕ () рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдВрдХреЛрдВ рдХреЗ рдмрдЬрд╛рдп, рдорд╛рдк рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдХреЛрдб рдорд╛рдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЖрдпрд╛рдореЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛ ():
window.performance.clearMeasures('measure_load_from_dom');
рдпрджрд┐ рдЖрдкрдХреЛ рд╕рднреА рдЖрдпрд╛рдореЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рддрд░реНрдХ рдХреЗ рдХреНрд▓реАрдпрд░рдорд╛рдЗрдЬрд╝ () рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐
рдЕрдВрдХ рдФрд░ рдорд╛рдк рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рдмрд╛рдж рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ред рдпрд╣ рдХрд░рдирд╛ рднреА рдЖрд╕рд╛рди рд╣реИ - рдЖрдкрдХреЛ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реИ рдХрд┐
PerformanceTimeline рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рдзрд┐ '
getEntriesByType () ' рдЖрдкрдХреЛ рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рд╕рднреА рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдпрд╛ рдорд╛рдк рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЖрдЧреЗ рдХреА рдЧрдгрдирд╛ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЪрдпрди рдХреЗ рд▓рд┐рдПред рд╕реВрдЪреА рдХреЛ рдХрд╛рд▓рд╛рдиреБрдХреНрд░рдорд┐рдХ рдХреНрд░рдо рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЯреИрдЧ рдХреЛ рдЙрд╕ рдХреНрд░рдо рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡реЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред
рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рдЙрди рд╕рднреА рдирд┐рд╢рд╛рдиреЛрдВ рдХреА рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЖрд╡реЗрджрди рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВ:
var items = window.performance.getEntriesByType('mark');
рдЬрдмрдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд╕рднреА рдЖрдпрд╛рдореЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИ:
var items = window.performance.getEntriesByType('measure');
рдЖрдк рдирд╛рдорд╛рдВрдХрд┐рдд рдЕрдВрдХреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдПрдХ рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд▓реМрдЯрд╛рдПрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ startTime рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ 'mark_fully_loaded' рдЪрд┐рд╣реНрди рд╣реЛрдЧрд╛ред
var items = window.performance.getEntriesByName('mark_fully_loaded');
XHR рдЕрдиреБрд░реЛрдз рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ (рдЙрджрд╛рд╣рд░рдг)
рдЕрдм, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдордп рдПрдкреАрдЖрдИ рдкрд░ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирдЬрд╝рд░ рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрд╡реЗрджрди рдореЗрдВ
XMLHttpRequest рдХреА рдЕрд╡рдзрд┐ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рднреА
рднреЗрдЬрдиреЗ () рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ
рд▓рд┐рдП рд╕рдордп рд╕реНрдЯреИрдореНрдкреНрд╕ рдХреЛ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╕рдлрд▓рддрд╛ рдХреЙрд▓рдмреИрдХ рдХреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдПрдХ рдЕрд▓рдЧ рдЪрд┐рд╣реНрди рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдПрдХ рдЕрдиреБрд░реЛрдз рдЕрд╡рдзрд┐ рдорд╛рдк рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред
рдирд┐рдпрдорд┐рдд XMLHttpRequest рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
var myReq = new XMLHttpRequest(); myReq.open('GET', url, true); myReq.onload = function(e) { do_something(e.responseText); } myReq.send();
рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдХрд╛рдЙрдВрдЯрд░ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕рд╣реА рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рдорд╛рдк рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
var reqCount = 0; var myReq = new XMLHttpRequest(); myReq.open('GET', url, true); myReq.onload = function(e) { window.performance.mark('mark_end_xhr'); reqCount++; window.performance.measure('measure_xhr_' + reqCnt, 'mark_start_xhr', 'mark_end_xhr'); do_something(e.responseText); }
рдпрд╣ рдХреЛрдб рдкреНрд░рддреНрдпреЗрдХ XMLHttpRequest рднреЗрдЬреЗ рдЧрдП рдЕрджреНрд╡рд┐рддреАрдп рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдЖрдпрд╛рдо рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛрдЧрд╛ред рдпрд╣ рдкрд╛рдардХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрднреНрдпрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рд╕рднреА рдЕрдиреБрд░реЛрдз рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
var items = window.performance.getEntriesByType('measure'); for (var i = 0; i < items.length; ++i) { var req = items[i]; console.log('XHR ' + req.name + ' took ' + req.duration + 'ms'); }
рдирд┐рд╖реНрдХрд░реНрд╖
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯрд╛рдЗрдорд┐рдВрдЧ рдПрдкреАрдЖрдИ рдХрдИ рдмреЗрд╣рддрд░реАрди рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╣рд░ рдкрд╣рд▓реВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред рдЖрд╡реЗрджрди рдореЗрдВ "рд╣реЙрдЯ рд╕реНрдкреЙрдЯ" рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рд╕реЗ рдкреВрд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╡рд┐рд▓рдВрдм рдХреА рддрд╕реНрд╡реАрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЛ рдкреЛрд╕реНрдЯ-рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрд╕ рдПрдкреАрдЖрдИ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдПрдХ
рдЕрдЪреНрдЫрд╛ рдЕрдиреБрдХрд░рдг рд╣реИ рдЬреЛ
webpagetest.org рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рддреЛ рдХреНрдпрд╛ рдпрд╣ рдЗрдВрддрдЬрд╛рд░ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ? рдпрд╣ рдЕрднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯрд╛рдЗрдорд┐рдВрдЧ рдПрдкреАрдЖрдИ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдФрд░ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХрддрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдирдпрд╛ рдЕрд╡рд╕рд░ рд╣реЛрдЧрд╛, рдФрд░ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдзрдиреНрдпрд╡рд╛рдж рдХрд╣реЗрдВрдЧреЗред