Obtener la lista de las pestañas abiertas

Este articulo necesita una revisión editorial. Cómo puedes ayudar.

Para realizar los pasos que se describen a continuación es necesario tener instalado el SDK y conocimientos básico de cfx.

Este ejemplo usa la API action button, la cual esta solo disponible para Firefox 29 en adelante.

Para listas las pestañas abiertas, se puede iterar sobre el mismo objeto tabs.

El siguiente add-on agrega un action button que registra las URLs de las pestañas abiertas cuando el/la usuario/a hacen clic en el:

require("sdk/ui/button/action").ActionButton({
  id: "list-tabs",
  label: "List Tabs",
  icon: "./icon-16.png",
  onClick: listTabs
});

function listTabs() {
  var tabs = require("sdk/tabs");
  for (let tab of tabs)
    console.log(tab.url);
}

Observe que para hacer que esto funcione debe guardar un icono para el botón al directorio "data" del add-on con el nombre de "icon-16.png": puede descargarlo de aqui: .

Si ejecuta el add-on, carga algunas pestañas, y hace clic en el botón, verá en la terminal una salida similar a esta:

info: http://www.mozilla.org/en-US/about/
info: http://www.bbc.co.uk/

No se tiene acceso directo a ningún contenido de la pestaña. Para acceder al contenido de la pestaña se necesita adjuntar un script usando tab.attach(). Este add-on adjunta un script a todas las pestañas abiertas. El script agrega un borde rojo al documento de la pestaña:

require("sdk/ui/button/action").ActionButton({
  id: "list-tabs",
  label: "List Tabs",
  icon: "./icon-16.png",
  onClick: listTabs
});

function listTabs() {
  var tabs = require("sdk/tabs");
  for (let tab of tabs)
    runScript(tab);
}
 
function runScript(tab) {
  tab.attach({
    contentScript: "document.body.style.border = '5px solid red';"
  });
}

Conozca más

Para conocer más sobre las pestañas en el SDK, puede dirigirse a la referencia de tabs en la API.

Para conocer mas sobre la ejecución de scripts en las pestañas, puede diregirse a usando tab.attach() en el tutorial.

Etiquetas y colaboradores del documento

Etiquetas: 
 Colaboradores en esta página: goliveira
 Última actualización por: goliveira,