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

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

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

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

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

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

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

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

マニフェスト

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

{
  "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 のデフォルトの新しいタブページと混同する可能性がある新しいタブページを作成しないでください。

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