ホームページ > 記事 > ウェブフロントエンド > js_javascriptスキルの実行遅延問題の分析
このコードを見てください:
<body> <script src="deffer.js"></script> content </body>
defer.js の内容は次のとおりです:
alert(1)
このようにして、警告ウィンドウが閉じるまでページは空白になります。アラート ウィンドウによりページのレンダリングが続行されないためです。
このような問題を回避するために、HTML 仕様では deffer 属性と async 属性が定義されています。これら 2 つの属性の具体的な定義についてはここでは説明しません。いずれにせよ、これらはこのページを実行する必要があることをブラウザーに伝えるために使用されます。ページのレンダリングが完了した後、スクリプトの実行時にページがレンダリングされるようにします。
<body> <script deffer async src="deffer.js"></script> content </body>
defer または async が追加された複数のスクリプトの場合、その実行順序はページに表示される順序とは関係がないことに注意してください。 HTML 仕様では遅延スクリプトを順番に実行する必要があると定義されていますが、ブラウザは実際にはこの規則に従っていません。