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