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: https://www.mozilla.org/en-US/about/ info: https://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.