BrowserTabGroup.tabs

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

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

Comments

No new comments accepted.