欢迎 What's new in Chrome extensions Get help with Chrome extensions API reference Samples
欢迎 What's new in Chrome extensions Get help with Chrome extensions API reference Samples

Overriding Chrome pages

Published on Updated on

Warning

The Chrome Web Store no longer accepts Manifest V2 extensions. Please use Manifest V3 when building new extensions. You will find a section on upgrading in the navigation tree at the left, including the Manifest V2 support timeline.

Override pages are a way to substitute an HTML file from your extension for a page that Google Chrome normally provides. In addition to HTML, an override page usually has CSS and JavaScript code.

An extension can replace any one of the following pages:

  • Bookmark Manager: The page that appears when the user chooses the Bookmark Manager menu item from the Chrome menu or, on Mac, the Bookmark Manager item from the Bookmarks menu. You can also get to this page by entering the URL chrome://bookmarks.
  • History: The page that appears when the user chooses the History menu item from the Chrome menu or, on Mac, the Show Full History item from the History menu. You can also get to this page by entering the URL chrome://history.
  • New Tab: The page that appears when the user creates a new tab or window. You can also get to this page by entering the URL chrome://newtab.
Note: A single extension can override only one page. For example, an extension can't override both the Bookmark Manager and History pages.

Incognito windows are treated specially. New Tab pages cannot be overridden in incognito windows. Other override pages work in incognito windows as long as the incognito manifest property is set to "spanning" (which is the default value). See Saving data and incognito mode in the Overview for more details on how you should treat incognito windows.

The following screenshots show the default New Tab page and then a custom New Tab page.

The default new tab page A custom new tab page

Manifest

Register an override page in the extension manifest like this:

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

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

For PAGE_TO_OVERRIDE, substitute one of the following:

  • bookmarks
  • history
  • newtab

Tips

For an effective override page, follow these guidelines:

  • Make your page quick and small. Users expect built-in browser pages to open instantly. Avoid doing things that might take a long time. For example, avoid synchronous fetches of network or database resources.
  • Include a title in your page. Otherwise people might see the URL of the page, which could be confusing. Here's an example of specifying the title: <title>New Tab</title>
  • Don't rely on the page having the keyboard focus. The address bar always gets the focus first when the user creates a new tab.
  • Don't try to emulate the default New Tab page. The APIs necessary to create a slightly modified version of the default New Tab page—with top pages, recently closed pages, tips, a theme background image, and so on—don't exist yet. Until they do, you're better off trying to make something completely different.

Examples

See the override samples.

Updated on Improve article

We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.