10

解決されていない同様の質問があります。

DOMContentLoaded をリッスンするハンドラーが最初のペイントをブロックできる状況に遭遇しました。ブロックするときとブロックしないときがある

それを見るためにcmd + Rを何度も試しました。この動作に何か説明はありますか?

また、これを示すビデオを録画しました: https://www.youtube.com/watch?v=EDZQ1nLCK2w&feature=youtu.be

  1. リロード後に空白のページが表示される場合は、DOMContentLoaded が最初のペイントをブロックしたことを意味します
  2. 「Some text」というテキストが表示され、リロード後に空白のページが表示される場合は、DOMContentLoaded が最初のペイントをブロックしなかったことを意味します。
window.addEventListener('DOMContentLoaded', () => {
    let i = 0;
    while (i++ < 1000000000) {
        continue;
    }
    document.getElementById('el').remove();
});
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <p id="el">Some text</p>
</body>
</html>
4

2 に答える 2