Lista de Tabs Abertas

Para seguir este tutorial você precisará ter instalado o SDK e ter conhecimento básico sobre cfx.

Este tutorial usa a API action button, que está disponível somente do Firefox 29 em diante.

Para listar as tabs abertas, você pode iterar sobre o objeto tabs.

O add-on a seguir adiciona um action button que registra as URLs abertas nas tabs quando clicado:

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

Note que para fazer isso funcionar você precisa salvar um ícone para o botão no diretório "data" do seu add-on como "icon-15.png": você pode baixar o ícone daqui: .

Se você executar o add-on, carregar um grupo de tabs, e clicar no botão, você verá a saída no linha de comando do console que parece com isto:

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

Você não consegue acesso direto a qualquer conteúdo hospedado na tab. Para acessar o conteúdo da tab você precisa anexar um script à tab usando tab.attach(). Este add-on anexa um script a todas as tabs abertas. O script adiciona uma borda vermelha ao documento da tab:

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';"
  });
}

Aprendendo Mais

Para aprender mais sobre como trabalhar com tabs no SDK, veja a referência da API tabs.

Para aprender mais sobre execução de scripts em tabs, veja o tutorial sobre uso do tab.attach().

Etiquetas do documento e colaboradores

 Colaboradores desta página: Pheanor
 Última atualização por: Pheanor,