MenuItem.targetURLPatterns

By Opera Software

From Opera 15 onward, Opera 11 & 12’s extension format is no longer supported, and instead, we’ve switched to Chromium’s extension model. Check out our new documentation for developing extensions for Opera 15 and higher and start building your own extensions.

Description:

The targetURLPatterns attribute is an array of rules specifying which link target domains a menu item should be visible for. This attribute is only effective when the context menu is activated on a link, in other words, only when the item's contexts array contains link or all. If this attribute is null (default) or an empty array then the menu item will appear for all target domains. Note that * can be used as a wildcard.

Syntax:

DOMString[] targetURLPatterns

Example:

The following example creates an item in the context menu only for links that link to the opera.com domain.

<!--
  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: 'Translate this link',
    contexts: ['link'],
    targetURLPatterns: [
      'http://opera.com/*',
      'https://opera.com/*',
      'http://*.opera.com/*',
      'https://*.opera.com/*'
    ],
    onclick: function(event) {
      doTranslate(event.linkURL);
    }
  }

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

This article is licensed under a Creative Commons Attribution 3.0 Unported license.

Comments

  • photo

    Christoph

    Wednesday, October 31, 2012

    This is pretty limited. Can we get the possibility to use RegExps?
No new comments accepted.