您正在阅读此内容的英文版本,因为该语系尚未翻译。 帮助我们翻译此文章吧!
添加按钮到浏览器的工具栏。
您可以为该按钮指派一个弹出窗。弹出窗可采用 HTML、CSS 和 JavaScript 编写,就像是一个普通的网页。运行在该弹出窗中的 JavaScript 可以同您的后台脚本一样访问所有的 WebExtension API,但它的全局上下文是该弹出窗,而不是浏览器中的当前页面。要影响网页,您需要通过消息通信。
如果您指定了弹出窗,它将显示——内容将在用户点击该图标时被加载。如果您没有指定一个弹出窗,用户单击该图标的事件将派发到您的扩展。
您可以用 manifest.json 中的 browser_action
键值声明定义大多数浏览器动作属性。
使用 browserAction
API,您可以:
- 使用
browserAction.onClicked
监听该图标的点击事件。 - 获取和设置该图标的属性——图标、标题、弹出窗等。 You can get and set these globally across all tabs, or for a specific tab by passing the tab ID as an additional argument.
另见用户界面组件中的浏览器动作章节。
类型
browserAction.ColorArray
- 0-255范围内的四个整数的数组,定义RGBA颜色。
browserAction.ImageDataType
- 一个图像的像素数据。必须为一个
ImageData
对象(例如,来自一个<canvas>
元素)。
函数
browserAction.setTitle()
- 设置浏览器动作的标题。这将在工具提示(鼠标悬停时)显示。
browserAction.getTitle()
- 获取浏览器动作的标题。
browserAction.setIcon()
- 设置浏览器动作的图标。
browserAction.setPopup()
- 设置 HTML 文档作为浏览器动作图标被用户点击时显示的弹出窗。
browserAction.getPopup()
- 获取作为浏览器动作的弹出窗的 HTML 文档。
browserAction.setBadgeText()
- 设置浏览器动作的徽章文本。该徽章显示在图标上方。
browserAction.getBadgeText()
- 获取浏览器动作的徽章文本。
browserAction.setBadgeBackgroundColor()
- 设置徽章的后台颜色。
browserAction.getBadgeBackgroundColor()
- 获取徽章的后台颜色。
browserAction.enable()
- 为一个标签页启用浏览器动作。默认情况下,浏览器动作为所有标签页启用。
browserAction.disable()
- 为一个标签页禁用浏览器动作,使该标签页为活动时无法单击它。
事件
browserAction.onClicked
- 在浏览器动作图标点击时被触发。如果浏览器动作有弹出窗,则该事件不会触发。
浏览器兼容性
Update compatibility data on GitHub
Desktop | Mobile | ||||
---|---|---|---|---|---|
ColorArray | Chrome Full support Yes | Edge Full support 14 | Firefox Full support 45 | Opera Full support Yes | Firefox Android No support No |
ImageDataType | Chrome Full support Yes | Edge Full support 14 | Firefox Full support 45 | Opera Full support Yes | Firefox Android No support No |
disable | Chrome Full support Yes | Edge Full support 14 | Firefox Full support 45 | Opera Full support Yes | Firefox Android No support No |
enable | Chrome Full support Yes | Edge Full support 14 | Firefox Full support 45 | Opera Full support Yes | Firefox Android No support No |
getBadgeBackgroundColor | Chrome Full support Yes | Edge Full support 14 | Firefox Full support 45 | Opera Full support Yes | Firefox Android No support No |
getBadgeText | Chrome Full support Yes | Edge Full support 14 | Firefox Full support 45 | Opera Full support Yes | Firefox Android No support No |
getBadgeTextColor | Chrome No support No | Edge No support No | Firefox Full support 63 | Opera No support No | Firefox Android No support No |
getPopup | Chrome Full support Yes | Edge No support No | Firefox Full support 45 | Opera Full support Yes | Firefox Android Full support 57 |
getTitle | Chrome Full support Yes | Edge Full support 15 | Firefox Full support 45 | Opera Full support Yes | Firefox Android Full support 55 |
isEnabled | Chrome No support No | Edge No support No | Firefox Full support 59 | Opera No support No | Firefox Android No support No |
onClicked | Chrome Full support Yes | Edge Full support 14 | Firefox Full support 45 | Opera Full support Yes | Firefox Android Full support 55 |
openPopup | Chrome
Full support
67
| Edge No support No | Firefox Full support 57 | Opera No support No | Firefox Android No support No |
setBadgeBackgroundColor | Chrome Full support Yes | Edge Full support 14 | Firefox
Full support
45
| Opera Full support Yes | Firefox Android No support No |
setBadgeText | Chrome Full support Yes | Edge Full support 14 | Firefox
Full support
45
| Opera Full support Yes | Firefox Android No support No |
setBadgeTextColor | Chrome No support No | Edge No support No | Firefox Full support 63 | Opera No support No | Firefox Android No support No |
setIcon | Chrome
Full support
Yes
| Edge
Full support
14
| Firefox
Full support
45
| Opera Full support 15 | Firefox Android No support No |
setPopup | Chrome Full support Yes | Edge Full support 14 | Firefox
Full support
45
| Opera Full support Yes | Firefox Android
Full support
57
|
setTitle | Chrome Full support Yes | Edge Full support 15 | Firefox
Full support
45
| Opera Full support Yes | Firefox Android
Full support
55
|
Legend
- Full support
- Full support
- No support
- No support
- See implementation notes.
- See implementation notes.
- User must explicitly enable this feature.
- User must explicitly enable this feature.
"Chrome兼容性"是从 https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Chrome_incompatibilities 包含,使用WebExtChromeCompat宏。
如果你需要更新此章节,编辑 https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Chrome_incompatibilities,然后刷新查看更改。
Example extensions
- bookmark-it
- favourite-colour
- find-across-tabs
- forget-it
- google-userinfo
- native-messaging
- open-my-page-button
- permissions
- runtime-examples
- store-collected-images
- tabs-tabs-tabs
致谢
此 API 基于 Chromium 的 chrome.browserAction
API。此文档派生自 Chromium 代码中的 browser_action.json
。
Microsoft Edge 兼容性数据由微软公司提供,并以 知识共享 署名 3.0 美国版 许可。
// Copyright 2015 The Chromium Authors. All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.