Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

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