Skip to Content
AI時代のウェブパフォーマンスエンジニアリング (Japanese Edition)
book

AI時代のウェブパフォーマンスエンジニアリング (Japanese Edition)

by Addy Osmani
February 2026
Beginner to intermediate
256 pages
3h 47m
Japanese
O'Reilly Media, Inc.
Content preview from AI時代のウェブパフォーマンスエンジニアリング (Japanese Edition)

第10章 サードパーティ製スクリプトのスケジューリング と最適化(およびAIの役割)

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

どのサードパーティ製スクリプトをいつ読み込むかを決めた後も、特定の作業をいつ実行するかという点で、さらなる最適化の余地がある。ブラウザには、アイドル状態の時やメインの読み込みが完了した後にタスクをスケジューリングする機能があり、緊急性のないサードパーティ製タスクの処理に役立つ。この手法により、重要度の低いサードパーティ製コードは、レスポンスやレンダリングを妨げないタイミングで確実に実行される。

サードパーティ製スクリプトのスケジューリング

ブラウザで緊急性の低い作業のスケジューリングを行う主なツールはwindow.requestIdleCallback だ。

requestIdleCallback API

この APIは、ブラウザのイベントループがアイドル状態(レイアウト、描画、ユーザ入力処理などの緊急タスクがない状態)になった際に実行すべき関数を登録できる。ブラウザはアイドルの隙間時間にこのコールバックを実行しようとする。アイドル時間が少ない場合でも確実に実行されるよう、タイムアウトを設定することも可能だ。

Windows.requestIdleCallback の使用例は以下の通りだ:

if ('requestIdleCallback' in window) {

  requestIdleCallback(() => {

    // Execute non-critical third-party init here

    loadThirdPartyAnalytics();

  }, { timeout: 3000 });

} else {

  // Fallback: if no support, run after a delay

  setTimeout(() => loadThirdPartyAnalytics(), 2000);

}

このスニペットは、ブラウザがアイドル状態になった時、または最大3秒後にloadThirdPartyAnalytics()を実行するようにスケジューリングする。高速なデバイスでは、ページ処理が完了次第すぐに実行される可能性がある。負荷の高いデバイスでは少し待機するが、3秒以内に確実に実行される。これは、即時実行が不要なアナリティクスやウィジェットの初期化などに最適だ。 例えば、アナリティクススクリプトファイルの読み込みを遅延させた場合でも、そのスクリプトは実行され、ページデータの送信などの処理を開始する可能性がある。この初期化処理をrequestIdleCallbackで囲むことで、メインスレッドが空き状態になった時点でのみデータ送信を開始させられる。

注意点:requestIdleCallbackは全てのブラウザで利用できるわけではない(Safariは2024年12月リリース版18.2でサポートを追加したが、旧バージョンでは未対応)。そのためsetTimeoutへのフォールバックがよく使われる。フォールバックによりコードは遅延は生じるものの確実に実行され、重要な タスクのブロックを回避できる。

Onload または最初のやり取り後

より簡単な方法は、ページの「ロード」イベントを待つことだ。window.onloadイベントは、画像やスクリプトなどの全リソースの読み込みが完了した時に発火する。サードパーティの初期化をこのイベントまで遅らせれば、重要なリソースの読み込みと競合しないことを保証できる。例えば: ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

注目すべきレーダーのトレンド2026年1月 (Japanese Edition)

注目すべきレーダーのトレンド2026年1月 (Japanese Edition)

Mike Loukides

Publisher Resources

ISBN: 0642572331726