Developers › Dev.Opera

MenuItem.icon

August 24, 2012 · by Opera Software

This functionality has not landed in a stable Opera version yet, but you can use it already in Opera Next.

Description:

The icon attribute is a relative URL pointing to an internal image, or an absolute URL pointing to an external image. The allowed image formats are bmp, gif (not animated), ico, jpg, png and webp. For best results, the icon should be square and small — 16 pixels x 16 pixels is ideal.

Syntax:

DOMString contexts

Example:

The following example creates an item with an icon in the context menu to open links in private tabs. In other words, the item will appear only when a link is right-/Ctrl-clicked.

<!-- 
  The configuration file ('config.xml').
-->
<?xml version='1.0' encoding='utf-8'?>
<widget xmlns="http://www.w3.org/ns/widgets">
    ...
    <feature name="opera:contextmenus"/>
    ...
</widget>
//
// The background process (e.g. index.html)
//

if (opera.contexts.menu) {
  var menu = opera.contexts.menu;
  // Create a menu item properties object
  var itemProps = {
    title: 'Open link in private tab',
    contexts: ['link'],
    icon: 'images/private.png',
    onclick: function(event) {
      // Create a tab properties object
      var tabProps = {
        url: event.linkURL,
        private: true
      };

      // Create a tab with the specified properties
      var tab = opera.extension.tabs.create(tabProps);
    }
  }

  // Create a menu item with the specified properties
  var item = menu.createItem(itemProps);
  // Add the menu item to the context menu
  menu.addItem(item);
}

About this article

Published inDev.Opera
DateAugust 24, 2012
AuthorOpera Software
Tagscontext menu, extensions API
OriginalInternet Archive