2012-10-11 9 views

risposta

17

Se con "installato dal mio file .crx" si intende installato da Chrome Web Store, è sufficiente verificare l'estensione manifest.json per l'attributo update_url. CWS lo aggiunge quando carichi la tua estensione.

Se si dispone di un file di .crx self-hosted, ottenere le informazioni di estensione utilizzando chrome.management.getSelf() e verificare installType della tornata ExtensionInfo oggetto. Se dice "development" significa che l'estensione è stata caricata decompressa in modalità sviluppatore. "normal" significa che è stato installato dal file .crx.

+3

Chrome ha introdotto 'chrome.management.getSelf' che è molto più appropriato per questo scopo. – Xan

18

Ecco un esempio di codice come eseguire questa operazione:

function isDevMode() { 
    return !('update_url' in chrome.runtime.getManifest()); 
} 

Utilizzato in Kuoll Remote Web Debugger

+2

Un modo molto più semplice è utilizzare [chrome.runtime.getManifest()] (https://developer.chrome.com/extensions/runtime#method-getManifest). –

+0

Oh, certo. Fisso. –

1

Si può verificare se l'estensione è in esecuzione in modalità sviluppatore (cioè senza imballaggio) verificando se contiene l'update_url attributo nel suo manifest. Questo si basa sul manifest dell'estensione decompressa non contenente lo update_url. The attribute will be automatically added when publishing via the Chrome Developer Dashboard.

const IS_DEV_MODE = !('update_url' in chrome.runtime.getManifest()); 

function debugLog(str) { 
    if (IS_DEV_MODE) console.log(str); 
} 

debugLog('This only appears in developer mode'); 
Problemi correlati