Perché è stata applicata un'ICiacca di azioni del browser riapparire dopo aver applicato un'icona personalizzata?

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

Domanda

Ho uno strano problema con un'icona di azione del browser in Chrome.Esiste un'icona predefinita per l'azione del browser definita nel manifest.L'icona viene visualizzata correttamente.Quindi in una pagina di sfondo, in alcune condizioni, chiamo:

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

Questa icona lampeggia per un momento, quindi torna all'icona predefinita.La scheda Attiva e il suo ID passarono su setIcon rimangono gli stessi durante tutto il processo.

Qualcuno può suggerire un'idea perché questo può accadere?

È stato utile?

Soluzione

Il motivo per cui l'icona è stata ripristinata allo stato predefinito ogni volta che sono perché ho chiamato setIcon prima la scheda finisce di caricare e ottiene "Completa" .

Immagino che ci dovrebbero essere alcune informazioni su questo in documentazione su schede o on < A href="http://developer.chrome.com/extensions/browserzione.html" rel="noreferrer"> Azioni del browser , ma non l'ho trovato: l'icona predefinita è effettivamente applicata - Design - a una pagina specifica dopo che termina il caricamento. Ho spostato la chiamata setIcon nel gestore tabs.onUpdated, e ora persiste l'icona personalizzata.

Questo contraddice alla mia precedente comprensione che l'icona dell'azione del browser è impostata su base per tab, senza regia per una pagina caricata nella scheda e il suo stato.

@KonRaddzwinel ha gentilmente fornito una semplice estensione per testare il caso (guarda i commenti). Ho cambiato la sua background.js script per dimostrare questo comportamento:

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

Per riprodurre questo comportamento, su qualsiasi scheda Premere l'icona dell'azione del browser per modificarlo. Quindi aggiornare la pagina. Di conseguenza, l'icona dell'azione del browser resetta a default.

Se questo comportamento è spiegato in qualche documentazione, per favore, scrivi questo nei commenti e aggiornerò la risposta. Da quello che ho letto finora, sono stato convinto che l'icona predefinita sia impostata per la nuova scheda al suo tempo di creazione, e quindi eventuali modifiche ad esse sono esclusivamente sotto il controllo dell'estensione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top