Chrome ページをオーバーライドする

拡張機能は、HTML オーバーライド ページを使用して、Google Chrome が通常提供するページを置き換えることができます。拡張機能には次のいずれかのページのオーバーライドを含めることができますが、各拡張機能でオーバーライドできるのは 1 つのページのみです。

ブックマーク マネージャー
ユーザーが Chrome メニューから [ブックマーク マネージャー] メニュー項目を選択したとき、または Mac で [ブックマーク] メニューから [ブックマーク マネージャー] 項目を選択したときに表示されるページ。URL「chrome://bookmarks」を入力してこのページにアクセスすることもできます。
履歴
ユーザーが Chrome メニューから [履歴] メニュー項目を選択したとき、または Mac で [履歴] メニューから [履歴をすべて表示] 項目を選択したときに表示されるページ。このページには、URL「chrome://history」を入力してアクセスすることもできます。
新しいタブ
ユーザーが新しいタブまたはウィンドウを作成したときに表示されるページ。URL「chrome://newtab」を入力してこのページにアクセスすることもできます。

次のスクリーンショットは、デフォルトの [新しいタブ] ページとカスタムの [新しいタブ] ページを示しています。

デフォルトの新しいタブページ
デフォルトの新しいタブページ。
カスタムの新しいタブページ
カスタムの新しいタブページ。

この機能を試すには、オーバーライドのサンプルをご覧ください。

シークレット ウィンドウの動作

シークレット ウィンドウでは、拡張機能で [新しいタブ] ページをオーバーライドすることはできません。incognito マニフェスト プロパティが「split」(デフォルト値)に設定されている場合、他のページは引き続き動作します。シークレット ウィンドウの処理方法について詳しくは、データの保存とシークレット モードをご覧ください。

マニフェスト

次のコードを使用して、拡張機能のマニフェストにオーバーライド ページを登録します。

{
  "manifest_version": 3,
  "name": "My extension",
  ...

  "chrome_url_overrides" : {
    "PAGE_TO_OVERRIDE": "myPage.html"
  },
  ...
}

PAGE_TO_OVERRIDE は、次のいずれかに置き換えます。

  • "bookmarks"
  • "history"
  • "newtab"

ベスト プラクティス

  • ページを高速化し、サイズを小さくする。
    ユーザーは、組み込みブラウザのページがすぐに開くことを期待しています。時間がかかる可能性のあることは避けてください。特に、データベース リソースへの同期アクセスは避けてください。ネットワーク リクエストを行う場合は、XMLHttpRequest() よりも fetch() を優先します。

  • ユーザーの混乱を避けるため、ページにタイトルを付けます。
    タイトルがない場合、ページのタイトルはデフォルトで URL になります。HTML ファイルの <title> タグを使用してタイトルを指定します。

  • 新しいタブを開くと、まずアドレスバーにキーボード フォーカスが移動します。
    キーボード フォーカスがページの他の部分にデフォルトで設定されることを前提としないでください。

  • 新しいタブページをカスタマイズする。
    ユーザーが Chrome のデフォルトの新しいタブページと混同する可能性のある新しいタブページを作成しないようにします。

オーバーライドのサンプルをご覧ください。