āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āώā§āĻ āĻžāϰ āĻĒā§āϰāĻžāϝāĻŧ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĻāĻŋāĻ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāϤ⧠āĻĻā§āϝāĻŧ: āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤā§, āϏā§āĻāĻžāĻāϞāĻŋāĻ āĻāĻŦāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻŽāĻŋāĻĨāϏā§āĻā§āϰāĻŋāϝāĻŧāĻžāϝāĻŧ āĻāϰ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻžāĨ¤ āϝāĻžāĻāĻšā§āĻ, JavaScript DOM āύāĻŋāϰā§āĻŽāĻžāĻŖāĻā§ āĻŦā§āϞāĻ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āĻāĻŦāĻ āĻĒā§āώā§āĻ āĻžāĻāĻŋ āϰā§āύā§āĻĄāĻžāϰ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻŦāĻŋāϞāĻŽā§āĻŦ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āϏāϰā§āĻŦā§āϤā§āϤāĻŽ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻĒā§āϰāĻĻāĻžāύ āĻāϰāϤā§, āĻāĻĒāύāĻžāϰ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻ ā§āϝāĻžāϏāĻŋāĻā§āĻ āĻāϰā§āύ āĻāĻŦāĻ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āϰā§āύā§āĻĄāĻžāϰāĻŋāĻ āĻĒāĻžāĻĨ āĻĨā§āĻā§ āϝā§āĻā§āύ⧠āĻ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻŦāĻžāĻĻ āĻĻāĻŋāύāĨ¤
āϏāĻžāϰāĻžāĻāĻļ
- āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻĄāĻŽ āĻāĻŦāĻ āϏāĻŋāĻāϏāĻāϏāĻāĻāĻŽāĻā§ āĻ āύā§āϏāύā§āϧāĻžāύ āĻāĻŦāĻ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤
- CSSOM-āĻ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻļāύ āĻŦā§āϞāĻ āĻāϰā§āĨ¤
- JavaScript DOM āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻŦā§āϞāĻ āĻāϰ⧠āϝāĻĻāĻŋ āύāĻž āϏā§āĻĒāώā§āĻāĻāĻžāĻŦā§ async āĻšāĻŋāϏāĻžāĻŦā§ āĻā§āώāĻŖāĻž āĻāϰāĻž āĻšāϝāĻŧāĨ¤
āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻšāϞ āĻāĻāĻāĻŋ āĻāϤāĻŋāĻļā§āϞ āĻāĻžāώāĻž āϝāĻž āĻāĻāĻāĻŋ āĻŦā§āϰāĻžāĻāĻāĻžāϰ⧠āĻāϞ⧠āĻāĻŦāĻ āĻĒā§āώā§āĻ āĻžāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻāϰāĻŖ āĻāϰ⧠āϤāĻžāϰ āĻĒā§āϰāĻžāϝāĻŧ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĻāĻŋāĻ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻžāϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āϝāĻŧ: āĻāĻŽāϰāĻž DOM āĻā§āϰāĻŋ āĻĨā§āĻā§ āĻāĻĒāĻžāĻĻāĻžāύ āϝā§āĻ āĻāĻŦāĻ āĻ āĻĒāϏāĻžāϰāĻŖā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋ; āĻāĻŽāϰāĻž āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāύā§āϰ CSSOM āĻŦā§āĻļāĻŋāώā§āĻā§āϝ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋ; āĻāĻŽāϰāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻāύāĻĒā§āĻ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋ; āĻāĻŦāĻ āĻāϰ⧠āĻ āύā§āĻ āĻāĻŋāĻā§āĨ¤ āĻāĻāĻŋ āĻŦā§āϝāĻžāĻā§āϝāĻž āĻāϰāĻžāϰ āĻāύā§āϝ, āĻāϏā§āύ āĻāĻāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻāύāϞāĻžāĻāύ āϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āϏāĻžāĻĨā§ āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āϰā§āĻŦāĻŦāϰā§āϤ⧠"āĻšā§āϝāĻžāϞ⧠āĻāϝāĻŧāĻžāϰā§āϞā§āĻĄ" āĻāĻĻāĻžāĻšāϰāĻŖāĻāĻŋ āĻŦā§āĻĻā§āϧāĻŋ āĻāϰāĻŋ:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link href="style.css" rel="stylesheet" />
<title>Critical Path: Script</title>
</head>
<body>
<p>Hello <span>web performance</span> students!</p>
<div><img src="awesome-photo.jpg" /></div>
<script>
var span = document.getElementsByTagName('span')[0];
span.textContent = 'interactive'; // change DOM text content
span.style.display = 'inline'; // change CSSOM property
// create a new element, style it, and append it to the DOM
var loadTime = document.createElement('div');
loadTime.textContent = 'You loaded this page on: ' + new Date();
loadTime.style.color = 'blue';
document.body.appendChild(loadTime);
</script>
</body>
</html>
āĻā§āώā§āĻāĻž āĻāϰ⧠āĻĻā§āĻā§āύ
āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻŽāĻžāĻĻā§āϰ DOM-āĻ āĻĒā§āĻāĻāĻžāϤ⧠āĻāĻŦāĻ āϞā§āĻāĻžāύ⧠āϏā§āĻĒā§āϝāĻžāύ āύā§āĻĄā§āϰ āϰā§āĻĢāĻžāϰā§āύā§āϏ āĻŦā§āϰ āĻāϰāϤ⧠āĻĻā§āϝāĻŧ; āύā§āĻĄāĻāĻŋ āϰā§āύā§āĻĄāĻžāϰ āĻā§āϰāĻŋāϤ⧠āĻĻā§āĻļā§āϝāĻŽāĻžāύ āύāĻžāĻ āĻšāϤ⧠āĻĒāĻžāϰā§, āϤāĻŦā§ āĻāĻāĻŋ āĻāĻāύāĻ DOM-āĻ āϰāϝāĻŧā§āĻā§āĨ¤ āϤāĻžāϰāĻĒāϰ, āϝāĻāύ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻžāĻā§ āϰā§āĻĢāĻžāϰā§āύā§āϏ āĻĨāĻžāĻā§, āϤāĻāύ āĻāĻŽāϰāĻž āĻāϰ āĻĒāĻžāĻ ā§āϝ (.textContent āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§) āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋ āĻāĻŦāĻ āĻāĻŽāύāĻāĻŋ āĻāϰ āĻāĻŖāύāĻžāĻā§āϤ āĻĄāĻŋāϏāĻĒā§āϞ⧠āĻļā§āϞ⧠āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻā§ "āĻā§āύāĻāĻŋ" āĻĨā§āĻā§ "āĻāύāϞāĻžāĻāύ" āĻ āĻāĻāĻžāϰāϰāĻžāĻāĻĄ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋāĨ¤ āĻāĻāύ āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āώā§āĻ āĻž " āĻšā§āϝāĻžāϞ⧠āĻāύā§āĻāĻžāϰā§āĻā§āĻāĻŋāĻ āϏā§āĻā§āĻĄā§āύā§āĻāϏ! " āĻĒā§āϰāĻĻāϰā§āĻļāύ āĻāϰā§āĨ¤
āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻŽāĻžāĻĻā§āϰ DOM-āĻ āύāϤā§āύ āĻāĻĒāĻžāĻĻāĻžāύ āϤā§āϰāĻŋ, āϏā§āĻāĻžāĻāϞ, āϝā§āĻ āĻāĻŦāĻ āĻ āĻĒāϏāĻžāϰāĻŖ āĻāϰāϤ⧠āĻĻā§āϝāĻŧāĨ¤ āĻā§āĻāύāĻŋāĻā§āϝāĻžāϞāĻŋ, āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āϰ⧠āĻĒā§āĻ āĻšāϤ⧠āĻĒāĻžāϰ⧠āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻĢāĻžāĻāϞ āϝāĻž āĻāĻā§ āĻāĻā§ āĻāϞāĻŋāĻŽā§āύā§āĻ āϤā§āϰāĻŋ āĻ āϏā§āĻāĻžāĻāϞ āĻāϰā§āĨ¤ āϝāĻĻāĻŋāĻ āĻāĻāĻŋ āĻāĻžāĻ āĻāϰāĻŦā§, āĻŦāĻžāϏā§āϤāĻŦā§ HTML āĻāĻŦāĻ CSS āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻ āύā§āĻ āϏāĻšāĻāĨ¤ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻĢāĻžāĻāĻļāύā§āϰ āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ āĻ āĻāĻļā§ āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ āύāϤā§āύ āĻĄāĻŋāĻ āĻāĻĒāĻžāĻĻāĻžāύ āϤā§āϰāĻŋ āĻāϰāĻŋ, āĻāϰ āĻĒāĻžāĻ ā§āϝ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āϏā§āĻ āĻāϰāĻŋ, āϏā§āĻāĻžāĻāϞ āĻāϰāĻŋ āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻŦāĻĄāĻŋāϤ⧠āϝā§āĻā§āϤ āĻāϰāĻŋāĨ¤
āĻāϰ āϏāĻžāĻĨā§, āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ DOM āύā§āĻĄā§āϰ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āĻāĻŦāĻ CSS āĻļā§āϞ⧠āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰā§āĻāĻŋ āĻāĻŦāĻ āύāĻĨāĻŋāϤ⧠āĻāĻāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āύāϤā§āύ āύā§āĻĄ āϝā§āĻā§āϤ āĻāϰā§āĻāĻŋāĨ¤ āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āώā§āĻ āĻžāĻāĻŋ āĻā§āύ āĻĄāĻŋāĻāĻžāĻāύ āĻĒā§āϰāώā§āĻāĻžāϰ āĻāĻŋāϤāĻŦā§ āύāĻž, āϤāĻŦā§ āĻāĻāĻŋ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻŽāĻžāĻĻā§āϰ āϝ⧠āĻļāĻā§āϤāĻŋ āĻāĻŦāĻ āύāĻŽāύā§āϝāĻŧāϤāĻž āĻĒā§āϰāĻĻāĻžāύ āĻāϰ⧠āϤāĻž āĻāĻŋāϤā§āϰāĻŋāϤ āĻāϰā§āĨ¤
āϝāĻžāĻāĻšā§āĻ, āϝāĻĻāĻŋāĻ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āϰāĻā§āϰ āĻļāĻā§āϤāĻŋ āĻĻā§āϝāĻŧ, āĻāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻŦāĻ āĻāĻāύ āĻĒā§āώā§āĻ āĻžāĻāĻŋ āϰā§āύā§āĻĄāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧ āϤāĻžāϰ āĻāĻĒāϰ āĻĒā§āϰāĻā§āϰ āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āϏā§āĻŽāĻžāĻŦāĻĻā§āϧāϤāĻž āϤā§āϰāĻŋ āĻāϰā§āĨ¤
āĻĒā§āϰāĻĨāĻŽāϤ, āϞāĻā§āώā§āϝ āĻāϰā§āύ āϝ⧠āĻāĻĒāϰā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖā§ āĻāĻŽāĻžāĻĻā§āϰ āĻāύāϞāĻžāĻāύ āϏā§āĻā§āϰāĻŋāĻĒā§āĻāĻāĻŋ āĻĒā§āώā§āĻ āĻžāϰ āύā§āĻā§āϰ āĻĻāĻŋāĻā§ āϰāϝāĻŧā§āĻā§āĨ¤ āĻā§āύ? āĻ āĻŋāĻ āĻāĻā§, āĻāĻĒāύāĻžāϰ āύāĻŋāĻā§āϰ āĻā§āώā§āĻāĻž āĻāϰāĻž āĻāĻāĻŋāϤ, āĻāĻŋāύā§āϤ⧠āϝāĻĻāĻŋ āĻāĻŽāϰāĻž āϏā§āĻā§āϰāĻŋāĻĒā§āĻāĻāĻŋāĻā§ āϏā§āĻĒā§āϝāĻžāύ āĻāĻĒāĻžāĻĻāĻžāύā§āϰ āĻāĻĒāϰ⧠āϏā§āĻĨāĻžāύāĻžāύā§āϤāϰāĻŋāϤ āĻāϰāĻŋ, āĻāĻĒāύāĻŋ āϞāĻā§āώā§āϝ āĻāϰāĻŦā§āύ āϝ⧠āϏā§āĻā§āϰāĻŋāĻĒā§āĻāĻāĻŋ āĻŦā§āϝāϰā§āĻĨ āĻšāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻ āĻāĻŋāϝā§āĻ āĻāϰā§āĻā§ āϝ⧠āĻāĻāĻŋ āύāĻĨāĻŋāϤ⧠āĻā§āύ⧠āϏā§āĻĒā§āϝāĻžāύ āĻāĻĒāĻžāĻĻāĻžāύā§āϰ āĻāϞā§āϞā§āĻ āĻā§āĻāĻā§ āĻĒāĻžāĻā§āĻā§ āύāĻž; āĻ āϰā§āĻĨāĻžā§, getElementsByTagName('span') null āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āϏāĻŽā§āĻĒāϤā§āϤāĻŋ āĻĒā§āϰāĻĻāϰā§āĻļāύ āĻāϰā§: āĻāĻŽāĻžāĻĻā§āϰ āϏā§āĻā§āϰāĻŋāĻĒā§āĻāĻāĻŋ āύāĻĨāĻŋāϤ⧠āϝā§āĻāĻžāύ⧠āĻĸā§āĻāĻžāύ⧠āĻšāϝāĻŧ āĻ āĻŋāĻ āϏā§āĻ āϏā§āĻĨāĻžāύā§āĻ āĻāĻžāϰā§āϝāĻāϰ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ āϝāĻāύ HTML āĻĒāĻžāϰā§āϏāĻžāϰ āĻāĻāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻā§āϝāĻžāĻā§āϰ āĻŽā§āĻā§āĻŽā§āĻāĻŋ āĻšāϝāĻŧ, āϤāĻāύ āĻāĻāĻŋ DOM āύāĻŋāϰā§āĻŽāĻžāĻŖā§āϰ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻā§ āĻŦāĻŋāϰāϤāĻŋ āĻĻā§āϝāĻŧ āĻāĻŦāĻ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻā§āĻāĻŋāύ⧠āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§; āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻā§āĻāĻŋāύ āĻāĻžāϞāĻžāύ⧠āĻļā§āώ āĻšāĻāϝāĻŧāĻžāϰ āĻĒāϰ, āĻŦā§āϰāĻžāĻāĻāĻžāϰāĻāĻŋ āϏā§āĻāĻžāύ āĻĨā§āĻā§ āĻļā§āϰ⧠āĻāϰ⧠āϝā§āĻāĻžāύ⧠āĻāĻāĻŋ āĻā§āĻĄāĻŧā§āĻāĻŋāϞ āĻāĻŦāĻ DOM āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻĒā§āύāϰāĻžāϝāĻŧ āĻļā§āϰ⧠āĻāϰā§āĨ¤
āĻ āύā§āϝ āĻāĻĨāĻžāϝāĻŧ, āĻāĻŽāĻžāĻĻā§āϰ āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻŦā§āϞāĻ āĻĒā§āώā§āĻ āĻžāϝāĻŧ āĻĒāϰ⧠āĻā§āύ⧠āĻāĻĒāĻžāĻĻāĻžāύ āĻā§āĻāĻā§ āĻĒāĻžāϝāĻŧ āύāĻž āĻāĻžāϰāĻŖ āϏā§āĻā§āϞāĻŋ āĻāĻāύāĻ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻāϰāĻž āĻšāϝāĻŧāύāĻŋ! āĻ āĻĨāĻŦāĻž, āĻāĻāĻā§ āĻāĻŋāύā§āύāĻāĻžāĻŦā§ āϞāĻŋāĻā§āύ: āĻāĻŽāĻžāĻĻā§āϰ āĻāύāϞāĻžāĻāύ āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻžāϞāĻžāύ⧠DOM āύāĻŋāϰā§āĻŽāĻžāĻŖāĻā§ āĻŦā§āϞāĻ āĻāϰā§, āϝāĻž āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ āϰā§āύā§āĻĄāĻžāϰāĻā§āĻ āĻŦāĻŋāϞāĻŽā§āĻŦāĻŋāϤ āĻāϰā§āĨ¤
āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āώā§āĻ āĻžāϝāĻŧ āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻĒā§āϰāĻŦāϰā§āϤāύā§āϰ āĻāϰā§āĻāĻāĻŋ āϏā§āĻā§āώā§āĻŽ āĻŦā§āĻļāĻŋāώā§āĻā§āϝ āĻšāϞ āϝ⧠āϤāĻžāϰāĻž āĻā§āĻŦāϞ DOM āύāϝāĻŧ, CSSOM āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻā§āϞāĻŋāĻ āĻĒāĻĄāĻŧāϤ⧠āĻāĻŦāĻ āϏāĻāĻļā§āϧāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻĒā§āϰāĻā§āϤāĻĒāĻā§āώā§, āĻāĻŽāϰāĻž āĻāĻŽāĻžāĻĻā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖā§ āĻ āĻŋāĻ āϏā§āĻāĻžāĻ āĻāϰāĻāĻŋ āϝāĻāύ āĻāĻŽāϰāĻž āϏā§āĻĒā§āϝāĻžāύ āĻāϞāĻŋāĻŽā§āύā§āĻā§āϰ āĻĄāĻŋāϏāĻĒā§āϞ⧠āĻĒā§āϰāĻĒāĻžāϰā§āĻāĻŋ āύāύ āĻĨā§āĻā§ āĻāύāϞāĻžāĻāύ⧠āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻŋāĨ¤ āĻļā§āώ āĻĢāϞāĻžāĻĢāϞ? āĻāĻŽāϰāĻž āĻāĻāύ āĻāĻāĻāĻŋ āϰā§āϏ āĻļāϰā§āϤ āĻāĻā§.
āĻāĻŽāϰāĻž āϝāĻāύ āĻāĻŽāĻžāĻĻā§āϰ āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻžāϞāĻžāϤ⧠āĻāĻžāĻ āϤāĻāύ āĻŦā§āϰāĻžāĻāĻāĻžāϰ CSSOM āĻĄāĻžāĻāύāϞā§āĻĄ āĻāĻŦāĻ āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻļā§āώ āύāĻž āĻāϰāϞ⧠āĻā§ āĻšāĻŦā§? āĻāϤā§āϤāϰāĻāĻŋ āϏāĻšāĻ āĻāĻŦāĻ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏā§āϰ āĻāύā§āϝ āĻā§āĻŦ āĻāĻžāϞ⧠āύāϝāĻŧ: āĻŦā§āϰāĻžāĻāĻāĻžāϰāĻāĻŋ CSSOM āĻĄāĻžāĻāύāϞā§āĻĄ āĻāĻŦāĻ āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻļā§āώ āύāĻž āĻšāĻāϝāĻŧāĻž āĻĒāϰā§āϝāύā§āϤ āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻāĻŦāĻ DOM āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻŦāĻŋāϞāĻŽā§āĻŦāĻŋāϤ āĻāϰā§āĨ¤
āϏāĻāĻā§āώā§āĻĒā§, āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ DOM, CSSOM āĻāĻŦāĻ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻļāύā§āϰ āĻŽāϧā§āϝ⧠āĻ āύā§āĻ āύāϤā§āύ āύāĻŋāϰā§āĻāϰāϤāĻž āĻĒā§āϰāĻŦāϰā§āϤāύ āĻāϰā§āĨ¤ āĻāĻāĻŋ āϏā§āĻā§āϰā§āύ⧠āĻĒā§āώā§āĻ āĻžāĻāĻŋ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻāϰāĻŖ āĻāĻŦāĻ āϰā§āύā§āĻĄāĻžāϰ āĻāϰāϤ⧠āĻŦā§āϰāĻžāĻāĻāĻžāϰāĻā§ āĻāϞā§āϞā§āĻāϝā§āĻā§āϝ āĻŦāĻŋāϞāĻŽā§āĻŦ āĻāĻāĻžāϤ⧠āĻĒāĻžāϰā§:
- āύāĻĨāĻŋāϤ⧠āϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻ āĻŦāϏā§āĻĨāĻžāύ āĻāϞā§āϞā§āĻāϝā§āĻā§āϝāĨ¤
- āϝāĻāύ āĻŦā§āϰāĻžāĻāĻāĻžāϰ āĻāĻāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻā§āϝāĻžāĻā§āϰ āĻŽā§āĻā§āĻŽā§āĻāĻŋ āĻšāϝāĻŧ, āϤāĻāύ āϏā§āĻā§āϰāĻŋāĻĒā§āĻāĻāĻŋ āĻāĻžāϰā§āϝāĻāϰ āĻāϰāĻž āĻļā§āώ āύāĻž āĻšāĻāϝāĻŧāĻž āĻĒāϰā§āϝāύā§āϤ DOM āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻŦāĻŋāϰāϤāĻŋ āĻĻā§āϝāĻŧāĨ¤
- āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻĄāĻŽ āĻāĻŦāĻ āϏāĻŋāĻāϏāĻāϏāĻāĻāĻŽāĻā§ āĻ āύā§āϏāύā§āϧāĻžāύ āĻāĻŦāĻ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤
- CSSOM āĻĒā§āϰāϏā§āϤā§āϤ āύāĻž āĻšāĻāϝāĻŧāĻž āĻĒāϰā§āϝāύā§āϤ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻļāύ āĻŦāĻŋāϰāϤāĻŋ āĻĻā§āϝāĻŧāĨ¤
āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻŽāĻžāϤā§āϰāĻžāϝāĻŧ, "āĻā§āϰāĻŋāĻāĻŋāĻāĻžāϞ āϰā§āύā§āĻĄāĻžāϰāĻŋāĻ āĻĒāĻžāĻĨ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāϰāĻž" āĻŦāϞāϤ⧠āĻŦā§āĻāĻžāϝāĻŧ āĻāĻŦāĻ āĻāĻāĻāĻāĻŋāĻāĻŽāĻāϞ, āϏāĻŋāĻāϏāĻāϏ āĻāĻŦāĻ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻŽāϧā§āϝ⧠āύāĻŋāϰā§āĻāϰāϤāĻž āĻā§āϰāĻžāĻĢāĻā§ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāϰāĻžāĨ¤
āĻĒāĻžāϰā§āϏāĻžāϰ āĻŦā§āϞāĻāĻŋāĻ āĻŦāύāĻžāĻŽ āĻ ā§āϝāĻžāϏāĻŋāĻā§āĻā§āϰā§āύāĻžāϏ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ
āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§, āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻļāύ āĻšāϞ "āĻĒāĻžāϰā§āϏāĻžāϰ āĻŦā§āϞāĻāĻŋāĻ": āϝāĻāύ āĻŦā§āϰāĻžāĻāĻāĻžāϰāĻāĻŋ āĻĄāĻā§āĻŽā§āύā§āĻā§ āĻāĻāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āϏāĻŽā§āĻŽā§āĻā§āύ āĻšāϝāĻŧ āϤāĻāύ āĻāĻāĻŋāĻā§ āĻ āĻŦāĻļā§āϝāĻ DOM āύāĻŋāϰā§āĻŽāĻžāĻŖāĻā§ āĻŦāĻŋāϰāϤāĻŋ āĻĻāĻŋāϤ⧠āĻšāĻŦā§, āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āϰāĻžāύāĻāĻžāĻāĻŽāĻā§ āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖ āĻšāϏā§āϤāĻžāύā§āϤāϰ āĻāϰāϤ⧠āĻšāĻŦā§ āĻāĻŦāĻ DOM āύāĻŋāϰā§āĻŽāĻžāĻŖā§āϰ āϏāĻžāĻĨā§ āĻāĻāĻŋāϝāĻŧā§ āϝāĻžāĻāϝāĻŧāĻžāϰ āĻāĻā§ āϏā§āĻā§āϰāĻŋāĻĒā§āĻāĻāĻŋ āĻāĻžāϰā§āϝāĻāϰ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻāĻŽāϰāĻž āĻāĻŽāĻžāĻĻā§āϰ āĻāĻā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖā§ āĻāĻāĻāĻŋ āĻāύāϞāĻžāĻāύ āϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āϏāĻžāĻĨā§ āĻāĻāĻŋāĻā§ āĻĻā§āĻā§āĻāĻŋāĨ¤ āĻĒā§āϰāĻā§āϤāĻĒāĻā§āώā§, āĻāύāϞāĻžāĻāύ āϏā§āĻā§āϰāĻŋāĻĒā§āĻāĻā§āϞāĻŋ āϏāϰā§āĻŦāĻĻāĻž āĻĒāĻžāϰā§āϏāĻžāϰ āĻŦā§āϞāĻ āĻāϰāĻž āĻšāϝāĻŧ āϝāĻĻāĻŋ āύāĻž āĻāĻĒāύāĻŋ āϤāĻžāĻĻā§āϰ āϏāĻŽā§āĻĒāĻžāĻĻāύ āϏā§āĻĨāĻāĻŋāϤ āĻāϰāϤ⧠āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āĻā§āĻĄ āύāĻž āϞā§āĻā§āύāĨ¤
āĻāĻāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻā§āϝāĻžāĻā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻŋ? āĻāϏā§āύ āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āϰā§āĻŦāĻŦāϰā§āϤ⧠āĻāĻĻāĻžāĻšāϰāĻŖ āĻā§āϰāĻšāĻŖ āĻāϰāĻŋ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻĢāĻžāĻāϞ⧠āĻā§āĻĄāĻāĻŋ āĻŦā§āϰ āĻāϰāĻŋ:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link href="style.css" rel="stylesheet" />
<title>Critical Path: Script External</title>
</head>
<body>
<p>Hello <span>web performance</span> students!</p>
<div><img src="awesome-photo.jpg" /></div>
<script src="app.js"></script>
</body>
</html>
app.js
var span = document.getElementsByTagName('span')[0];
span.textContent = 'interactive'; // change DOM text content
span.style.display = 'inline'; // change CSSOM property
// create a new element, style it, and append it to the DOM
var loadTime = document.createElement('div');
loadTime.textContent = 'You loaded this page on: ' + new Date();
loadTime.style.color = 'blue';
document.body.appendChild(loadTime);
āĻā§āώā§āĻāĻž āĻāϰ⧠āĻĻā§āĻā§āύ
āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ <script> āĻā§āϝāĻžāĻ āĻŦāĻž āĻāĻāĻāĻŋ āĻāύāϞāĻžāĻāύ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āϏā§āύāĻŋāĻĒā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻŋ āύāĻž āĻā§āύ, āĻāĻĒāύāĻŋ āĻāĻāϝāĻŧāĻ āĻāĻāĻāĻāĻžāĻŦā§ āĻāĻāϰāĻŖ āĻāϰāĻŦā§āύ āĻŦāϞ⧠āĻāĻļāĻž āĻāϰāĻŦā§āύāĨ¤ āĻāĻāϝāĻŧ āĻā§āώā§āϤā§āϰā§āĻ, āĻŦā§āϰāĻžāĻāĻāĻžāϰāĻāĻŋ āύāĻĨāĻŋāϰ āĻ āĻŦāĻļāĻŋāώā§āĻāĻžāĻāĻļ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻāϰāĻžāϰ āĻāĻā§ āϏā§āĻā§āϰāĻŋāĻĒā§āĻāĻāĻŋāĻā§ āĻŦāĻŋāϰāϤāĻŋ āĻĻā§āϝāĻŧ āĻāĻŦāĻ āĻāĻžāϰā§āϝāĻāϰ āĻāϰā§āĨ¤ āϝāĻžāĻāĻšā§āĻ, āĻāĻāĻāĻŋ āĻŦāĻžāĻšā§āϝāĻŋāĻ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻĢāĻžāĻāϞā§āϰ āĻā§āώā§āϤā§āϰ⧠āĻŦā§āϰāĻžāĻāĻāĻžāϰāĻāĻŋāĻā§ āĻĄāĻŋāϏā§āĻ, āĻā§āϝāĻžāĻļā§ āĻŦāĻž āϰāĻŋāĻŽā§āĻ āϏāĻžāϰā§āĻāĻžāϰ āĻĨā§āĻā§ āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāύāĻžāϰ āĻāύā§āϝ āĻ āĻĒā§āĻā§āώāĻž āĻāϰāϤ⧠āĻŦāĻŋāϰāϤāĻŋ āĻĻāĻŋāϤ⧠āĻšāĻŦā§, āϝāĻž āĻā§āϰāĻŋāĻāĻŋāĻā§āϝāĻžāϞ āϰā§āύā§āĻĄāĻžāϰāĻŋāĻ āĻĒāĻžāĻĨā§ āĻšāĻžāĻāĻžāϰ āĻšāĻžāĻāĻžāϰ āĻŽāĻŋāϞāĻŋāϏā§āĻā§āύā§āĻĄ āĻŦāĻŋāϞāĻŽā§āĻŦ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤
āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§ āϏāĻŽāϏā§āϤ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻĒāĻžāϰā§āϏāĻžāϰ āĻŦā§āϞāĻāĻŋāĻāĨ¤ āĻāĻžāϰāĻŖ āĻŦā§āϰāĻžāĻāĻāĻžāϰ āĻāĻžāύ⧠āύāĻž āϝ⧠āϏā§āĻā§āϰāĻŋāĻĒā§āĻāĻāĻŋ āĻĒā§āώā§āĻ āĻžāϝāĻŧ āĻā§ āĻāϰāĻžāϰ āĻĒāϰāĻŋāĻāϞā§āĻĒāύāĻž āĻāϰāĻā§, āĻāĻāĻŋ āϏāĻŦāĻā§āϝāĻŧā§ āĻāĻžāϰāĻžāĻĒ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋ āĻ āύā§āĻŽāĻžāύ āĻāϰ⧠āĻāĻŦāĻ āĻĒāĻžāϰā§āϏāĻžāϰāĻā§ āĻŦā§āϞāĻ āĻāϰā§āĨ¤ āĻŦā§āϰāĻžāĻāĻāĻžāϰāĻā§ āĻāĻāĻāĻŋ āϏāĻāĻā§āϤ āϝ⧠āϏā§āĻā§āϰāĻŋāĻĒā§āĻāĻāĻŋ āϏāĻ āĻŋāĻ āĻŦāĻŋāύā§āĻĻā§āϤ⧠āĻāĻžāϰā§āϝāĻāϰ āĻāϰāĻžāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āύā§āĻ āϝā§āĻāĻžāύ⧠āĻāĻāĻŋ āĻāϞā§āϞā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āĻŦā§āϰāĻžāĻāĻāĻžāϰāĻāĻŋāĻā§ DOM āϤā§āϰāĻŋ āĻāϰāĻž āĻāĻžāϞāĻŋāϝāĻŧā§ āϝā§āϤ⧠āĻĻā§āϝāĻŧ āĻāĻŦāĻ āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻĒā§āϰāϏā§āϤā§āϤ āĻšāϞ⧠āĻāĻāĻŋ āĻāĻžāϰā§āϝāĻāϰ āĻāϰāϤ⧠āĻĻā§āϝāĻŧ; āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻā§āϝāĻžāĻļā§ āĻŦāĻž āϰāĻŋāĻŽā§āĻ āϏāĻžāϰā§āĻāĻžāϰ āĻĨā§āĻā§ āĻĢāĻžāĻāϞ āĻāύāĻžāϰ āĻĒāϰā§āĨ¤
āĻāĻāĻŋ āĻ āϰā§āĻāύ āĻāϰāϤā§, āĻāĻŽāϰāĻž āĻāĻŽāĻžāĻĻā§āϰ āϏā§āĻā§āϰāĻŋāĻĒā§āĻāĻāĻŋāĻā§ async āĻšāĻŋāϏāĻžāĻŦā§ āĻāĻŋāĻšā§āύāĻŋāϤ āĻāϰāĻŋ:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link href="style.css" rel="stylesheet" />
<title>Critical Path: Script Async</title>
</head>
<body>
<p>Hello <span>web performance</span> students!</p>
<div><img src="awesome-photo.jpg" /></div>
<script src="app.js" async></script>
</body>
</html>
āĻā§āώā§āĻāĻž āĻāϰ⧠āĻĻā§āĻā§āύ
āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻā§āϝāĻžāĻā§ āĻ ā§āϝāĻžāϏāĻŋāĻā§āĻ āĻā§āĻāϝāĻŧāĻžāϰā§āĻĄ āϝā§āĻā§āϤ āĻāϰāĻž āĻŦā§āϰāĻžāĻāĻāĻžāϰāĻā§ āĻŦāϞ⧠āϝ⧠āϏā§āĻā§āϰāĻŋāĻĒā§āĻāĻāĻŋ āĻāĻĒāϞāĻŦā§āϧ āĻšāĻāϝāĻŧāĻžāϰ āĻāύā§āϝ āĻ āĻĒā§āĻā§āώāĻž āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ DOM āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻŦā§āϞāĻ āύāĻž āĻāϰāϤā§, āϝāĻž āĻāϞā§āϞā§āĻāϝā§āĻā§āϝāĻāĻžāĻŦā§ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻāύā§āύāϤ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤