chrome.contextMenus
描述: |
使用 chrome.contextMenus API 向 Google Chrome 浏览器的右键菜单添加项目。您可以选择您在右键菜单中添加的项目应用于哪些类型的对象,例如图片、超链接和页面。
|
可用版本: |
从 Chrome 6 开始支持。
|
权限: |
"contextMenus"
|
用法
右键菜单项可以在任何文档(或文档中的框架)中出现,即使它们使用 file:// 或 chrome:// 协议的 URL。要控制您的菜单项在哪些文档中出现,在您调用 create() 或 update() 方法时请指定 documentUrlPatterns 属性。
您可以根据自己的需要创建任意数目的右键菜单项,但是如果您的扩展程序一次显示超过一个菜单项,Google Chrome 浏览器会自动将它们折叠至一个父菜单中。
清单文件
您必须在扩展程序的清单文件中声明 "contextMenus" 权限才能使用有关 API,您还应该指定一个 16×16 像素的图标,显示在您的菜单项旁边。例如:
{ "name": "我的扩展程序", ... "permissions": [ "contextMenus" ], "icons": { "16": "icon-bitty.png", "48": "icon-small.png", "128": "icon-large.png" }, ... }
例子
您可以在示例页面找到这一 API 的示例。
摘要
属性 | |
---|---|
ACTION_MENU_TOP_LEVEL_LIMIT | |
方法 | |
create −
integer or
string
chrome.contextMenus.create(object createProperties, function callback)
| |
update −
chrome.contextMenus.update(integer or string id, object updateProperties, function callback)
| |
remove −
chrome.contextMenus.remove(integer or string menuItemId, function callback)
| |
removeAll −
chrome.contextMenus.removeAll(function callback)
| |
事件 | |
onClicked |
属性
6 |
chrome.contextMenus.ACTION_MENU_TOP_LEVEL_LIMIT |
尚未完全实现,您必须通过源代码建立 Chromium 才能尝试该 API。了解更多内容 最多允许添加多少顶层扩展程序菜单项至扩展程序按钮的右键菜单中,超过该限制的菜单项将会忽略。 |
方法
create
integer or
string
chrome.contextMenus.create(object createProperties, function callback)
创建一个新的右键菜单项。注意,如果创建过程中发生错误,您可能要等到回调函数调用时才能得知(详情可从 runtime.lastError 获得)
参数 | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
object | createProperties |
|
|||||||||||||||||||||||||||||||||||||||
function | (可选) callback |
当菜单项已经在浏览器中创建后调用。如果创建过程中出现任何错误,详情可从 runtime.lastError 获得。 如果您指定了 callback 参数,它应该是一个如下形式的函数: function() {...};
|
update
chrome.contextMenus.update(integer or string id, object updateProperties, function callback)
更新以前创建的菜单项。
参数 | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
integer or string | id |
要更新的菜单项标识符。 |
|||||||||||||||||||||||||||
object | updateProperties |
要更新的属性,与 create 函数的 createProperties 参数使用的相同值。
|
|||||||||||||||||||||||||||
function | (可选) callback |
右键菜单项更新后调用。 如果您指定了 callback 参数,它应该是一个如下形式的函数: function() {...};
|
remove
chrome.contextMenus.remove(integer or string menuItemId, function callback)
移除右键菜单项。
参数 | ||
---|---|---|
integer or string | menuItemId |
要移除的菜单项标识符。 |
function | (可选) callback |
右键菜单项移除后调用。 如果您指定了 callback 参数,它应该是一个如下形式的函数: function() {...};
|
removeAll
chrome.contextMenus.removeAll(function callback)
移除该扩展程序添加的所有右键菜单项。
参数 | ||
---|---|---|
function | (可选) callback |
移除完成后调用。 如果您指定了 callback 参数,它应该是一个如下形式的函数: function() {...};
|
事件
onClicked
从 Chrome 21 开始支持。
addListener
chrome.contextMenus.onClicked.addListener(function callback)
参数 | ||
---|---|---|
function | callback |
callback 参数应该是一个如下形式的函数: function() {...};
|
示例扩展程序
- Context Menus Sample – Shows some of the features of the Context Menus API
- Context Menus Sample (with Event Page) – Shows some of the features of the Context Menus API using an event page
- Download and Open Button – Download and Open Context Menu Button
- Imageinfo – Get image info for images, including EXIF data