Developers › Dev.Opera

MenuItem.targetURLPatterns

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 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);
}

About this article

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