拡張機能は、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 のデフォルトの新しいタブページと混同する可能性がある新しいタブページを作成しないでください。
例
オーバーライドのサンプルをご覧ください。