37 lines
1.7 KiB
Markdown
37 lines
1.7 KiB
Markdown
# menu-demo
|
|
|
|
A demo of the [menus API](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/menus/).
|
|
|
|
**This add-on injects JavaScript into web pages. The `addons.mozilla.org` domain disallows this operation, so this add-on will not work properly when it's run on pages in the `addons.mozilla.org` domain.**
|
|
|
|
**This add-on uses the `menus` namespace to access the functions it needs to create menu items. Note that Chrome, Edge, and Opera all use the `contextMenus` namespace for this, so this extension will not work in these browsers. For compatibility with these browsers, Firefox also offers the `contextMenus` namespace, so to make this extension work with other browsers, use `contextMenus`.**
|
|
|
|
## What it does
|
|
|
|
This add-on adds several items to the browser's context menu:
|
|
|
|
* one shown when there is a selection in the page, that logs the selected text
|
|
to the browser console when clicked.
|
|
* one shown in all contexts, that is removed when clicked.
|
|
* two "radio" items that are shown in all contexts.
|
|
These items are grouped using a separator item on each side.
|
|
One radio item adds a blue border to the page, the other adds a green border.
|
|
Note that these buttons only work on normal web pages, not special pages
|
|
like about:debugging.
|
|
* one "checkbox" item, shown in all contexts, whose title is updated when the
|
|
item is clicked.
|
|
* one item that uses the "commands" property to open the add-on's sidebar.
|
|
|
|
It also adds one item to the browser's "Tools" menu.
|
|
|
|
## What it shows
|
|
|
|
* How to create various types of menu item:
|
|
* normal
|
|
* radio
|
|
* separator
|
|
* checkbox
|
|
* How to use contexts to control when an item appears.
|
|
* How to update an item's properties.
|
|
* How to remove an item.
|