Toolbar button

常说的 浏览器动作(browser action), 指通过在工具栏上上添加新按钮,提供用户互动选项,用户可点击按钮与你的扩展进行互动。

工具栏按钮(browser action)与地址栏按钮(page action)极为相似。区分其不同点及使用,请参看 Page actions and browser actions.

指定浏览器动作

通过 manifest.json 里的关键字browser_action 来定义浏览器动作的属性:

json
"browser_action": {
  "default_icon": {
    "19": "button/geo-19.png",
    "38": "button/geo-38.png"
  },
  "default_title": "Whereami?"
}

必须定义的键是 default_icon.

有两种方法来指定浏览器动作:带弹出框(popup)和不带弹出框(popup)。

如果不指定弹出框,当用户点击按钮时,点击事件将被发送至扩展,而扩展可用以下函数来捕获 browserAction.onClicked:

js
browser.browserAction.onClicked.addListener(handleClick);

如果指定了弹出框,当用户点击按钮时,点击事件将不会被发送,而是显示出弹出框。用户能够通过弹出框进行互动,并且点击框外区域时弹出框会自动关闭。请参看文章 Popup 来了解更多关于创建和管理弹出框的细节。

注意一个扩展只能指定一个浏览器动作。

可通过browserAction API 在程序里更改你的浏览器动作的属性。

图标

想了解更多关于如何创建浏览器动作图标信息,请参看Photon Design System 文档里的 Iconography 部分。

范例

在 Github 上的扩展范例库 webextensions-examples 中有两个实现浏览器动作的例子:

  • bookmark-it没有使用 popup 实现了浏览器动作。
  • beastify使用 popup 实现了浏览器动作。