рдЖрдк рдХреНрдпрд╛ рд╣реИрдВ, рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЗрдВрдЬрди? рдпрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдбрд┐рд╕реНрдкреНрд▓реЗ рдореЙрдбреНрдпреВрд▓ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

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

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреГрд╖реНрда рд▓реЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдкрд╣рд▓реЗ рдмрд╛рдЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рд▓реЗрдХрд░ рд╕реНрдХреНрд░реАрди рдкрд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЖрд░реЗрдЦрд┐рдд рдХрд░рдиреЗ рддрдХ рдЖрд░рдИ рдХреЗ рд╕рд╛рде рд╕рднреА рдЪрд░рдгреЛрдВ рд╕реЗ рдЧреБрдЬрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдореИрдВ рдХреНрд░реЛрдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЖрд░рдИ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдмрд╛рддрдЪреАрдд рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХреМрди рд╕реЗ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рдпреЛрдЬрдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:


рдЪрд┐рддреНрд░ 1

рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕, рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ (рдЗрд╕рдХреЗ рдмрд╛рдж рдпреВрдЖрдИ) - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рд╣рд░реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдкреАрдЖрдИ: рдПрдбреНрд░реЗрд╕ рдмрд╛рд░, рдиреЗрд╡рд┐рдЧреЗрд╢рди, рдореЗрдиреВ, рдмреБрдХрдорд╛рд░реНрдХ, рдмрдЯрди 'рдЕрдкрдбреЗрдЯ' рдФрд░ 'рд╣реЛрдо'ред

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рддрдВрддреНрд░, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрдВрдЬрди (рдЗрд╕рдХреЗ рдмрд╛рдж BE), рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдФрд░ рдбрд┐рд╕реНрдкреНрд▓реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмреАрдЪ рдПрдХ рдкрд░рдд рд╣реИред

рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЗрдВрдЬрди рдбрд┐рд╕реНрдкреНрд▓реЗ рдореЙрдбреНрдпреВрд▓ ред рд╣рдо рдмрд╛рдж рдореЗрдВ рдЗрд╕рдХрд╛ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред

рдиреЗрдЯрд╡рд░реНрдХ рдШрдЯрдХ, рдиреЗрдЯрд╡рд░реНрдХ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред рдЖрд░рдИ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдбреЗрдЯрд╛ 8 рдХреЗрдмреА рднрд╛рдЧреЛрдВ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЖрд░рдИ рддрдм рддрдХ рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд╕рднреА рдбреЗрдЯрд╛ рдирд╣реАрдВ рдЖрддреЗ рд╣реИрдВ, рдпрд╣ рдЖрддреЗ рд╣реА рдЗрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред

JS рджреБрднрд╛рд╖рд┐рдпрд╛ рдореЙрдбреНрдпреВрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред

рдпреВрдЖрдИ рдмреИрдХрдПрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреБрдирд┐рдпрд╛рджреА рдЧреНрд░рд╛рдлрд┐рдХ рддрддреНрд╡реЛрдВ рдФрд░ рд╡рд┐рдЧреЗрдЯреНрд╕ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдФрд░ рдХреЙрдореНрдмреЛ рдмреЙрдХреНрд╕ред рдЕрд▓рд░реНрдЯ рдпрд╛ рдкреНрд░реЙрдореНрдкреНрдЯ рд╡рд┐рдВрдбреЛ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдгред

рдПрдХ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдПрдХ рдХреБрдХреА, рдЗрдВрдбреЗрдХреНрд╕рдбреАрдмреА рдФрд░ рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реНрдЯреЛрд░ рд╣реИред

рдЕрдм рдЬрдм рд╣рдо рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рд╕реНрддрд░ рдкрд░ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ, рддреЛ рд╣рдо рдЙрд╕ рдШрдЯрдХ рдкрд░ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ - рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЗрдВрдЬрдиред

рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рдФрд░ рддреЗрдЬрд╝ рд╣реИ, рддреЛ рдЪрд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реАрдПрд╕рдПрд╕ рдкреГрд╖реНрда рдХреЛ рдПрдХ рдмрд╛рд╣рд░реА рд╕реАрдПрд╕рдПрд╕ рдФрд░ рдЬреЗрдПрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рд▓реЗрддреЗ рд╣реИрдВ (рд╕реНрдХреНрд░рд┐рдкреНрдЯ async рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдлрд┐рд░ рд╣рдо рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ рдХреНрдпреЛрдВ)ред рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЖрд░рдИ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕реНрдХреНрд░реАрди рдкрд░ рд╣рдореЗрдВ рдЬреЛ рд╕рд╛рдордЧреНрд░реА рдЪрд╛рд╣рд┐рдП, рдЙрд╕реЗ рджреЗрдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреНрдпрд╛ рдХрджрдо рдЙрдард╛рдП рдЬрд╛рддреЗ рд╣реИрдВред

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="stylesheet" href="./style.css"></link> <title>Document</title> </head> <body> <div>Hello Habr!</div> <div>I'am Rendering Engine</div> <script async src="./script.js"></script> </body> </html> 

 (function() { window.addEventListener('load', () => { console.log('all resources were loaded'); }); })(); 

 * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: Helvetica, sans-serif; line-height: 1.5; background-color: #9BD4F4; padding: 16px; } 

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Chrome DevTools рдкрд░ рдЬрд╛рдПрдВ, perfomance рдЯреИрдм рдЦреЛрд▓реЗрдВ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░реЗрдВред рдкреГрд╖реНрда рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдХреНрдпрд╛ рд╣реБрдЖ рдЗрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд┐рддреНрд░ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ:


рдЪрд┐рддреНрд░ 2

рдиреЗрдЯрд╡рд░реНрдХ рдЯреИрдм рдореЗрдВ - рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдХреНрд░рдо (рдмреНрд▓реВ рдмреЙрдХреНрд╕ - index.html)ред

рдЯрд╛рдЗрдорд┐рдВрдЧ рдЯреИрдм рдореЗрдВ, рдбреАрд╕реАрдПрд▓ рдЗрд╡реЗрдВрдЯ рд╣реЛрдиреЗ рдкрд░ рдРрд╕реЗ рдирд┐рд╢рд╛рди рд╣реЛрддреЗ рд╣реИрдВ (DOM рдХрдВрдЯреЗрдВрдЯ рд▓реЛрдбреЗрдб, FP - рдкрд╣рд▓рд╛ рдХрдВрдЯреЗрдВрдЯрдлреБрд▓ рдкреЗрдВрдЯ, FMP - рдкрд╣рд▓рд╛ рдЕрд░реНрдердкреВрд░реНрдг рдкреЗрдВрдЯ, L - рд▓реЛрдб)ред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпреЗ рдШрдЯрдирд╛рдПрдБ рдХреНрдпрд╛ рд╣реИрдВред

DOMContentLoaded - рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдиреЗ HTML рд▓реЛрдб рдХрд┐рдпрд╛, рдЙрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдФрд░ DOM рдЯреНрд░реА рдмрдирд╛рдпрд╛ред рдпрд╣ рдШрдЯрдирд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрд░ рдЖрдЧ рд▓рдЧрд╛рддреА рд╣реИ, рдЖрдк рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЛрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рд╣рдо DOMContentLoaded рдШрдЯрдирд╛ рдХреА рд╕рджрд╕реНрдпрддрд╛ рдирд╣реАрдВ рд▓реЗ рдкрд╛рдПрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкрд╛рд░реНрд╕ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реБрдЖ рдерд╛, рдЪрд┐рддреНрд░ рджреЗрдЦреЗрдВ)ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, DOMContentLoaded рдХреА рдХрдИ рдмрд╛рд░реАрдХрд┐рдпрд╛рдБ рд╣реИрдВ:

  • рдпрджрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ async / defer рдЯреИрдЧ (рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝) рдХреЗ рдмрд┐рдирд╛ рдХрдиреЗрдХреНрдЯ рд╣реИ, рддреЛ рдпрд╣ HTML рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░ рджреЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╕рдЯреНрдЯрд╛ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╡реЗ рдЕрднреА рднреА рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреА рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдбреЛрдо рдЯреНрд░реА рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдкрдХреЛ рдЖрд░рдИ рдХреЗ рдХрд╛рдо рдХреЗ рд╕рдордп рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЖрдВрдХрдбрд╝рд╛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдбреАрд╕реАрдПрд▓ рдФрд░ рдЕрдиреНрдп рд╕рднреА рд░реЗрдВрдбрд░ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рд╕рдордп рдХреИрд╕реЗ рдмрдврд╝рддрд╛ рд╣реИ
  • рдкрд╛рд░реНрд╕рд┐рдВрдЧ рд▓реЙрдХ (рдЖрдкрдиреЗ рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рд╣реИ) рдХреЛ async / defer рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рджрд░рдХрд┐рдирд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд┐рдП рдмрд┐рдирд╛ HTML рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
  • рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓реЛрдбрд┐рдВрдЧ рд╕реНрдЯрд╛рдЗрд▓ рдХреЗ рдХрд╛рд░рдг DCL рдЗрд╡реЗрдВрдЯ рдореЗрдВ рджреЗрд░реА рд╣реЛ рд╕рдХрддреА рд╣реИред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддрддреНрд╡ рдХреА рд╢реИрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдФрд░ рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдмрд╢рд░реНрддреЗ рдХрд┐ рдЗрд╕ рддрддреНрд╡ рдХреА рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкрд╛рд░реНрд╕ рдпрд╛ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ
  • рдХреНрд░реЛрдо рдореЗрдВ рднреА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреАрд╕реАрдПрд▓ рдкрд░, рдлреЙрд░реНрдо рд╕реНрд╡рддрдГ рдкреВрд░реНрдг рд╣реИрдВред


рдЪрд┐рддреНрд░ 3

рдкрд╣рд▓рд╛ рдкреЗрдВрдЯ - рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдиреЗ рдкреГрд╖реНрда рдкрд░ рдкрд╣рд▓рд╛ рдкрд┐рдХреНрд╕реЗрд▓ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ред

рдкрд╣рд▓рд╛ рдХрдВрдЯреЗрдВрдЯрдлреБрд▓ рдкреЗрдВрдЯ - рдмреНрд░рд╛рдЙрдЬрд░ рдиреЗ рдкреЗрдЬ рдкрд░ рдкрд╣рд▓рд╛ рдХрдВрдЯреЗрдВрдЯ рдкреЗрд╢ рдХрд┐рдпрд╛ред

рдкрд╣рд▓реЗ рд╕рд╛рд░реНрдердХ рдкреЗрдВрдЯ - рдЖрд░рдИ рдХреЗ рдмрд╛рдж рдШрдЯрдирд╛ рдЖрдЧ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╕рд╛рдордЧреНрд░реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреА рд╣реИред

рдкреВрд░реЗ рдкреГрд╖реНрда рдХреЛ рд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЙрд╕ рдкрд░ рд╕рдВрд╕рд╛рдзрди рд▓реЛрдб рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ iframe рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред

FP, FCP, FMP рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП Google рдХреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ ред

рдЕрдм рдЬрдм рд╣рдордиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд▓рд┐рдпрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдШрдЯрдирд╛рдПрдБ рдШрдЯрд┐рдд рд╣реБрдИ рд╣реИрдВ, рд╣рдо рдХреЙрд▓ рдЯреНрд░реА ( рдЪрд┐рддреНрд░ 1 рджреЗрдЦреЗрдВ) рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрди рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╣реЛрдиреЗ рдкрд░ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкрд╛рд░реНрд╕ HTML - HTML рдкрд╛рд░реНрд╕рд┐рдВрдЧред рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдмреЗрд╣рддрд░ рдЕрднреА рддрдХ, рдХрд▓реНрдкрдирд╛ рдкрдврд╝реЗрдВ ред рд╣рдореЗрдВ рдмрд╕ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ HTML- рдЖрдзрд╛рд░рд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ рдмрдирд╛рддрд╛ рд╣реИ - DOMред рдФрд░, рдЬрдм рдпрд╣ рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдм рдЗрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ DOMContentLoaded рдШрдЯрдирд╛ рдХреЛ рдЖрдЧ рд▓рдЧрд╛ рджреЗрддрд╛ рд╣реИред

рдХрдВрдкреЛрдЬрд┐рдЯ рд▓реЗрдпрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рджреГрд╢реНрдп рддрддреНрд╡реЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЛ рдПрдХрд▓ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рднреНрд░рдо рдкреИрджрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпреЗ рд╕рднреА рддрддреНрд╡ рдПрдХ рд╣реА рджреГрд╢реНрдп рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рд╣реИрдВред

рдкреБрдирд░реНрдЧрдгрдирд╛ рд╢реИрд▓реАред DOM рдореЗрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХреЗ рдмрджрд▓рд╛рд╡, рдЪрд╛рд╣реЗ рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдпрд╛ рд╣рдЯрд╛рдирд╛, рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдмрджрд▓рдирд╛, рдХрдХреНрд╖рд╛рдПрдВ, рдпрд╛ рдПрдиреАрдореЗрд╢рди рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рддрддреНрд╡реЛрдВ рдХреА рд╢реИрд▓рд┐рдпреЛрдВ рдХреА рдкреБрдирд░реНрдЧрдгрдирд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рдФрд░, рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдкреВрд░реЗ рдкреГрд╖реНрда рдпрд╛ рдЙрд╕рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХрд╛ рд▓реЗрдЖрдЙрдЯред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╢реИрд▓реА рдЧрдгрдирд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП Google

рдкрд╛рд░реНрд╕ рд╕реНрдЯрд╛рдЗрд▓ рд╢реАрдЯред рдпрджрд┐, рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрд░рдИ рджреЗрдЦрддрд╛ рд╣реИ рдХрд┐ рдПрдЪрдЯреАрдПрдордПрд▓ рд╕реАрдПрд╕рдПрд╕ рд╕рдХреНрд╖рдо рд╣реИ, рддреЛ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред рдкрд╛рд░реНрд╕рд┐рди рдХреЗ рдмрд╛рдж, рдЖрд░рдИ рд╕реАрдПрд╕рдПрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓, рд╕реАрдПрд╕рдПрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ рдмрдирд╛рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдмрд╛рдж рдЕрдЯреИрдЪрдореЗрдВрдЯ рд╕реНрдЯреЗрдЬ рдЖрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЖрд░рдИ рд╕реАрдПрд╕рдПрд╕ рдХреЛ рдУрдо рдФрд░ рдбреЛрдо рдореЗрдВ рдореИрдк рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╣рдореЗрдВ рдПрдХ рд░реЗрдВрдбрд░ рдЯреНрд░реА рдорд┐рд▓рддрд╛ рд╣реИред

рд▓реЗрдпрд░ рдЯреНрд░реА (рд▓реЗрдЖрдЙрдЯ) рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ - рд▓реЗрдпрд░ рдЯреНрд░реА рдХрд╛ рд▓реЗрдЖрдЙрдЯ рдпрд╛ рд╕рд┐рд░реНрдл рдПрдХ рд▓реЗрдЖрдЙрдЯред рд╕реАрдПрд╕рдПрд╕ рдУрдо рдФрд░ рдбреЛрдо рд╕реЗ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рддрддреНрд╡реЛрдВ рдФрд░ рдЙрдирдХреЗ рдЖрдХрд╛рд░реЛрдВ рдХреЗ рд╕реНрдерд╛рди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдХреНрд╕рд░, рдзрд╛рд░рд╛ рдореЗрдВ рдХрдо рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рддрддреНрд╡ рдКрдкрд░ рдХреЗ рддрддреНрд╡реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд▓реЗрдЖрдЙрдЯ рдХреЛ рдЕрдХреНрд╕рд░ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдКрдкрд░ рд╕реЗ рдиреАрдЪреЗ рдФрд░ рдмрд╛рдПрдВ рд╕реЗ рджрд╛рдПрдВред рдЗрд╕рд▓рд┐рдП, HTML рдорд╛рдирдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд▓реЗрдЖрдЙрдЯ рдХрд╛ рдПрдХ рд╕реНрдЯреНрд░реАрдо рдореЙрдбрд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдкреЗрдВрдЯ - рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рд░реЗрдВрдбрд░ рдХрд░рдирд╛ред рдФрд░ рдЗрди рд╕рднреА рдЪрд░рдгреЛрдВ рдХреЗ рдмрд╛рдж рд╣реА рд╣рдо рд╕реНрдХреНрд░реАрди рдкрд░ рд╕рд╛рдЗрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рджреЗрдЦрддреЗ рд╣реИрдВ: рдбреА

рдпрд╣рд╛рдБ рдЖрд░рдИ рдореЗрдВ рд╕рднреА рдЪрд░рдгреЛрдВ рдХреА рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдкрд░реЗрдЦрд╛ рджреА рдЧрдИ рд╣реИ:


рдЪрд┐рддреНрд░ 4

рд╣рдо рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рддреЗ рд╣реИрдВ:

рдЖрд░рдИ рдореЗрдВ рдбреЗрдЯрд╛ рдмреИрдЪреЛрдВ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдЖрддрд╛ рд╣реИред рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрд░рдИ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреН, HTML рдкрд╛рд░реНрд╕рд┐рдВрдЧред

рдЬрдм рдЖрд░рдИ рджреЗрдЦрддрд╛ рд╣реИ рдХрд┐ HTML рдореЗрдВ рдПрдХ рдмрд╛рд╣рд░реА рд╕рдВрд╕рд╛рдзрди рд╣реИ, рддреЛ рд╡рд╣ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡рд╣ рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдЖрд░рдИ рдХреЛ рдлрд┐рд░ рд╕реЗ рджреЗрддрд╛ рд╣реИред

рдЖрд░рдИ рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ <рд╕реНрдХреНрд░рд┐рдкреНрдЯ> рдЯреИрдЧ рдХреЛ рдорд┐рд▓рдирд╛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдбреЛрдо рдЯреНрд░реА рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдФрд░ рдмрдирд╛рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИред рдпрд╣ async / defer рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдпрд╣рд╛рдВ рдЙрдирдХреЗ рдорддрднреЗрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ ред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╕рдордЭрдирд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд┐рдП рдмрд┐рдирд╛ HTML рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмреНрд░рд╛рдЙрдЬрд╝рд░ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, Chrome) рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рд╡рд╣ рдЙрд╕ рддрддреНрд╡ рдХреЗ рд╕реАрдПрд╕рдПрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдЖрд░рдИ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, HTML рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд╛рд░реНрд╕ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрдм рд╣рдореЗрдВ рдХреБрдЫ рднреА рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ DOMContentLoaded рдШрдЯрдирд╛ рдЙрдард╛рддрд╛ рд╣реИ, рдФрд░ рд╣рдореЗрдВ рдЙрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдХ #document рдСрдмреНрдЬреЗрдХреНрдЯ рдорд┐рд▓рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдо рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╕реАрдПрд╕рдПрд╕ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж, рдЕрдЯреИрдЪрдореЗрдВрдЯ рдЪрд░рдг рд╣реЛрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд░реЗрдВрдбрд░ рдЯреНрд░реА рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд▓реЗрдЖрдЙрдЯ (рдмреНрд▓реЙрдХ рдХреЗ рдЖрдХрд╛рд░ рдФрд░ рд╕реНрдерд┐рддрд┐ рдХрд╛ рд▓реЗрдЖрдЙрдЯ) рд╣реЛрддрд╛ рд╣реИред рдЦреИрд░, рд▓реЗрдЖрдЙрдЯ рдХреЗ рдмрд╛рдж рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдХ рдбреНрд░рд╛рдЗрдВрдЧ рд╣реИ - рдкреЗрдВрдЯред рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЗрдВрдЬрди рдЗрддрдирд╛ рд▓рдВрдмрд╛ рд░рд╛рд╕реНрддрд╛ рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдФрд░ рдореИрдВ рдЗрд╕реЗ рджреЗрдЦреЗрдВ:


рдЪрд┐рддреНрд░ 5

рд╡рд╣ рд╕рдм рд╣реИ!

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдерд╛ рдФрд░ рдЕрдм рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЗрдВрдЬрди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЕрд▓рд╡рд┐рджрд╛ :) рдФрд░ рдЬрд▓реНрдж рд╣реА рдорд┐рд▓рддреЗ рд╣реИрдВред рдЕрдЧрд░ рдЖрдкрдХреЛ рдпрд╣ рдкрд╕рдВрдж рдЖрдпрд╛, рддреЛ рдореЗрд░реЗ рдЪреИрдирд▓ рдХреЛ рд▓рд╛рдЗрдХ рдФрд░ рд╕рдмрд╕реНрдХреНрд░рд╛рдЗрдм рдХрд░реЗрдВ :)

Source: https://habr.com/ru/post/hi459814/


All Articles