替代页面

替代页面是一种使用来自您的扩展程序的 HTML 文件替换 Google Chrome 默认提供页面的方式。除了 HTML,替代页面通常还包含 CSS 和 JavaScript 代码。

扩展程序可以替换以下任一页面:

  • 书签管理器:当用户选择 Chrome 菜单中(或 Mac 系统上的书签菜单中)的书签管理器菜单项时出现的页面。您也可以输入 URL chrome://bookmarks 进入该页面。
  • 历史记录:当用户选择 Chrome 菜单中的历史记录(或者 Mac 系统上历史记录菜单中的显示所有历史记录)时出现的页面。您也可以输入 URL chrome://history 进入该页面。
  • “打开新的标签页”页面:当用户创建新标签页或新窗口时出现的页面。您也可以输入 URL chrome://newtab 进入该页面。

注意:一个扩展程序只能替换一个页面。例如,一个扩展程序不能既替换书签管理页面,又替换历史记录页面。

隐身窗口是特殊对待的,“打开新的标签页”页面不能在隐身窗口中替换。只要清单文件中的 incognito 属性设置为 "spanning"(也是默认值),其他替代页面将在隐身窗口中工作。有关您应该如何对待隐身窗口的更多细节,请参见概述中的保存数据和隐身模式

以下屏幕截图展现了缺省的“打开新的标签页”页面和自定义的“打开新的标签页”页面。

缺省的“打开新的标签页”页面 替代的“打开新的标签页”页面
default New Tab page a blank New Tab page

清单文件

如下所示在扩展程序的清单文件中注册替代页面:

{
  "name": "我的扩展程序",
  ...

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

pageToOverride 替换为以下值之一:

  • bookmarks
  • history
  • newtab

提示

要想创建一个高效的替代页面,请遵循这些指导:

  • 您的网页应该小而快。
    用户期望内置的浏览器页面能够立即打开,请不要进行任何花费时间可能较长的操作,例如,不要同步地获取网络或数据库资源。

  • 您的网页应该包含标题。
    否则用户可能会看到网页 URL 而感到疑惑。如下是一个指定标题的例子:<title>新标签页</title>

  • 不要假定网页具有键盘焦点。
    当用户创建新标签页时总是地址栏先获得焦点。

  • 不要试图模仿默认的“打开新的标签页”网页。
    创建与默认“打开新的标签页”网页类似(具有最常访问的网站、最近关闭的标签页、提示、主题背景图像等等)的修改版本所需的 API 还不存在。在这些 API 得到支持之前您最好还是考虑一些完全不同的新想法。

例子

请参见替代页面示例