Chrome ページのオーバーライド

オーバーライド ページを使用すると、拡張機能の HTML ファイルを、Google Chrome で通常提供されるページに置き換えることができます。オーバーライド ページは通常、HTML に加えて CSS コードと JavaScript コードで構成されます。

拡張機能により、次のいずれかのページを置き換えることができます。

  • ブックマーク マネージャ: ユーザーが Chrome メニューからブックマーク マネージャのメニュー項目を選択したとき、または Mac の場合は [ブックマーク] メニューからブックマーク マネージャの項目を選択したときに表示されるページです。このページには、URL「chrome://bookmarks」と入力してアクセスすることもできます。
  • 履歴: ユーザーが Chrome メニューから [履歴] メニュー項目を選択したとき、または Mac の場合は [履歴] メニューから [全履歴を表示] 項目を選択したときに表示されるページ。URL「chrome://history」を入力して、このページにアクセスすることもできます。
  • 新しいタブ: ユーザーが新しいタブまたはウィンドウを作成したときに表示されるページ。このページには、URL に「chrome://newtab」を入力することもできます。
注: 1 つの拡張機能でオーバーライドできるのは 1 ページのみです。たとえば、1 つの拡張機能でブックマーク マネージャと履歴の両方のページをオーバーライドすることはできません。

シークレット ウィンドウは特別に扱われます。シークレット ウィンドウで新しいタブページをオーバーライドすることはできません。 他のオーバーライド ページは、Incognito マニフェスト プロパティが「spanning」(デフォルト値)に設定されていれば、シークレット ウィンドウで動作します。シークレット ウィンドウの扱い方について詳しくは、「概要」のデータの保存とシークレット モードをご覧ください。

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

デフォルトの新しいタブページ

カスタムの新しいタブページ

マニフェスト

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

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

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

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

  • bookmarks
  • history
  • newtab

ヒント

オーバーライド ページの効果を高めるには、次のガイドラインに従ってください。

  • ページを速く小さくする。 ユーザーは、組み込みのブラウザページがすぐに開くことを期待しています。時間がかかる作業は控えましょう。たとえば、ネットワーク リソースやデータベース リソースの同期取得は避けてください。
  • ページのタイトルを含めます。 そうしないと、ユーザーにページの URL が表示され、混乱する可能性があります。以下に、タイトルを指定する例を示します。<title>New Tab</title>
  • キーボードのフォーカスがあるページに頼らないでください。ユーザーが新しいタブを作成すると、常にアドレスバーが最初にフォーカスされます。
  • デフォルトの新しいタブページをエミュレートしようとしない。デフォルトの新しいタブページを少し修正したバージョン(トップページ、最近閉じたページ、ヒント、テーマの背景画像など)を作成するために必要な API はまだありません。それまでは、まったく別のものを作ろうとするのがよいでしょう。

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