Por que um navegador ação padrão do ícone reapper depois de um ícone personalizado foi aplicada?

StackOverflow https://stackoverflow.com//questions/12710061

Pergunta

Eu tenho um problema estranho com um navegador ícone de acção para o Chrome.Há um ícone padrão para o navegador de ação definido no manifesto.O ícone é exibido corretamente.Em seguida, em uma página de plano de fundo, sob algumas condições, eu chamo de:

chrome.browserAction.setIcon({path:"green_32.png", tabId:request.tabId});

Este ícone pisca por um momento e, em seguida, as alterações de volta para o ícone padrão.A guia ativa e a sua id do passado para setIcon permanecer o mesmo durante todo o processo.

Alguém pode sugerir uma idéia de por que isso pode acontecer?

Foi útil?

Solução

A razão por que o ícone foi repor a predefinição de estado cada vez que é porque eu chamei setIcon antes de o guia terminar de carregar e obtém "concluir" do estado.

Eu acho que deve haver alguma informação sobre isto na documentação sobre guias ou em as ações do navegador, mas eu não encontrá-lo:o ícone padrão é, na verdade, aplicado - by-design - para uma página específica depois de terminar de carregar.Mudei a chamada setIcon em tabs.onUpdated manipulador, e agora ícone personalizado persistir.

Isso contradiz ao meu entendimento anterior de que o navegador ícone de ação é definida por separador base, regarless para uma página carregada para o guia e o seu estado.

@KonradDzwinel gentilmente forneceu uma extensão simples para testar o caso (veja os comentários).Eu mudei a sua background.js script para demonstrar este comportamento:

chrome.browserAction.onClicked.addListener(function(tab)
{
  chrome.browserAction.setIcon({path: 'gfx/icon2.png', tabId: tab.id});
});

Para reproduzir este comportamento, em qualquer guia pressione o navegador ícone de ação para obtê-lo alterado.Em seguida, atualize a página.Como resultado, o navegador ícone de acção redefinir para o padrão.

Se este comportamento é explicado na documentação, por favor, escreva isso em comentários, e eu vou atualizar a resposta.Pelo que tenho lido até agora, eu estava convencido de que o ícone padrão é definido para o novo guia no seu tempo de criação e, em seguida, quaisquer alterações são exclusivamente sob a extensão do controle.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top