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

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

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

次のスクリーンショットでは、デフォルトの新しいタブページが表示され、その後カスタムの新しいタブページが表示されています。

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

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

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

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

マニフェスト

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

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

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