2011-11-02 17 views
5

Supponiamo che un utente disabiliti la mia estensione e successivamente la abiliti.Come posso rilevare se un Chrome Extension è stato abilitato (dopo essere stato disabilitato)

Come posso eseguire una funzione quando l'estensione viene riabilitata?

Ho provato a fare qualcosa di simile all'esecuzione di una funzione on-extension-install, utilizzando localStorage, ma non sembra funzionare per questo caso on-extension-reenabled perché localStorage non viene cancellato per la background-page quando è disabilitato.

if (!localStorage["isInstalled"]) { 
onInstall(); 
localStorage["isInstalled"] = 1; 
} 
+0

Dall'estensione e dalle prospettive dell'utente, la disattivazione dell'estensione ha esattamente lo stesso effetto della chiusura di un browser. Perché dovresti distinguere tra questi due casi? – serg

risposta

1

Date un'occhiata al management API, che consente di rispondere agli eventi come onEnabled, sparando quando un app o estensione è stata abilitata.

+6

Sfortunatamente onEnabled viene attivato solo quando sono abilitate altre estensioni. Non si attiva quando l'estensione stessa è abilitata. –

2

Un'estensione di per sé non può monitorare quando viene disabilitata. Avresti bisogno di una seconda estensione per monitorare questo.

come un lieve alternativa, è possibile utilizzare sessionStorage["isInstalled"] = 1;, che andrebbe cancellata se l'estensione è stato disattivato, ma questo sarebbe anche essere cancellati se l'utente è uscito Chrome.

Problemi correlati