扩展程序可以使用 HTML 替换页面来替换 Google Chrome 通常提供的页面。扩展程序可以包含对以下任一网页的替换项,但每个扩展程序只能替换一个网页:
- 书签管理器
- 用户从 Chrome 菜单中选择“书签管理器”菜单项或在 Mac 上从“书签”菜单中选择“书签管理器”菜单项时显示的页面。您也可以输入网址 chrome://bookmarks 前往此页面。
- 历史记录
- 用户从 Chrome 菜单中选择“历史记录”菜单项或在 Mac 上从“历史记录”菜单中选择“显示完整历史记录”菜单项时显示的页面。您也可以输入网址 chrome://history 前往此页面。
- 打开新的标签页
- 用户创建新标签页或新窗口时显示的页面。您也可以输入网址 chrome://newtab 前往此页面。
以下屏幕截图显示了默认的新标签页,然后是自定义的新标签页。
如需试用此功能,请参阅我们的替换项示例。
无痕式窗口行为
在无痕式窗口中,扩展程序无法替换“新标签页”页面。如果无痕模式清单属性设置为“跨越”(默认值),其他网页仍会正常运行。如需详细了解如何处理无痕式窗口,请参阅保存数据和无痕模式。
清单
使用以下代码在扩展程序清单中注册替换页面:
{
"manifest_version": 3,
"name": "My extension",
...
"chrome_url_overrides" : {
"PAGE_TO_OVERRIDE": "myPage.html"
},
...
}
将 PAGE_TO_OVERRIDE
替换为以下项之一:
"bookmarks"
"history"
"newtab"
最佳做法
提高网页速度并缩减网页大小。
用户希望内置浏览器页面能够立即打开。避免执行可能需要很长时间完成的操作。具体而言,请避免同步访问数据库资源。发出网络请求时,请优先使用fetch()
,而不是XMLHttpRequest()
。为避免用户感到困惑,请为您的网页添加标题。
如果未指定标题,网页标题将默认为网址。在 HTML 文件中使用<title>
标记指定标题。请注意,新标签页会先将键盘焦点移至地址栏。
请勿依赖于键盘焦点默认移至网页的其他部分。打造您自己的新标签页。
避免创建可能与 Chrome 的默认新标签页混淆的新标签页。
示例
请参阅替换项示例。