« Documentation Home

BrowserTabGroup.tabs

This documentation relates to Opera's now deprecated .oex Extension API framework for Opera versions <= 12.15 and also provided by our OEX2NEX shim library.

For the latest Opera Extensions API documentation for Opera versions > 12.15 please consult the latest Opera Extensions API documentation online.

Description:

The readonly tabs attribute exposes a tab manager. The tab manager is an object that implements the BrowserTabManager interface and manages all browser tabs that are currently open within the context tab group.

Syntax:

readonly BrowserTabManager tabs

Example:

The following example creates a button on the browser toolbar. When the button is clicked, the first tab group is detected and all the URLs of its tabs are collected. Then, a new tab group is created and populated with private tabs with the same URLs.

//
// The background process (e.g. index.html)
//

// Specify the properties of the button before creating it.
var UIItemProperties = {
  disabled: false,
  title: "Example extension",
  icon: "images/icon_18.png",
  onclick: function() {
    try {
      // Get the first tab group
      var group = opera.extension.tabGroups.getAll()[0];
      
      // Get all tabs within the tab group
      var tabs = group.tabs.getAll();
      
      // Create an empty array and add new tabs to it with the same URLs
      var newTab;
      var newTabs = [];
      for (var i = 0, len = tabs.length; i < len; i++) {
        if (tabs[i].url != undefined) {
          // Create each new tabs as a private tab
          newTab = opera.extension.tabs.create({url: tabs[i].url, private: true});
          newTabs.push(newTab);
        }
      }
      
      // Create a tab group containing the new tabs
      var tabGroup = opera.extension.tabGroups.create(newTabs);
      
    } catch(e) {}
    
  }
};

// Create the button and add it to the toolbar.
var button = opera.contexts.toolbar.createItem( UIItemProperties );  
opera.contexts.toolbar.addItem(button);