BrowserTabGroup.browserWindow

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 browserWindow attribute exposes the context window. On getting, the browserWindow attribute returns a BrowserWindow object representing the context window.

This attribute is named browserWindow and not window to avoid confusion with the global window object.

Syntax:

readonly BrowserWindow browserWindow

Example:

The following example creates a button on the browser toolbar. When the button is clicked, the first tab group's parent window is detected. If the window is not private, a new private window is opened with the URLs of the first tab group.

//
// 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 the URL of each tab to it
      var newTabs = [];      
      for (var i = 0, len = tabs.length; i < len; i++) {
        if (tabs[i].url != undefined) {
          newTabs.push({url: tabs[i].url});
        }
      }
      
      // Get the tab groups's browser window
      var win = group.browserWindow;
      
      // If the window is not private, open a new private window with the tab group's URLs
      if (win.private === false) {
        opera.extension.windows.create(newTabs, {private: true});
      }
    } 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.