2012-10-11 9 views

Odpowiedz

17

Jeśli przez "zainstalowany z mojego pliku " masz na myśli zainstalowany z Chrome Web Store, po prostu sprawdź rozszerzenie manifest.json o wartości atrybutu update_url. CWS dodaje go, gdy przesyłasz swoje rozszerzenie.

Jeśli masz self-hosted .crx plik, uzyskać informacje dotyczące rozszerzenia używając chrome.management.getSelf() i sprawdzić installType zwracanej ExtensionInfo obiektu. Jeśli jest napisane "development" oznacza to, że rozszerzenie zostało załadowane rozpakowane w trybie programisty. "normal" oznacza, że ​​został zainstalowany z pliku .crx.

+3

Chrome od tego czasu wprowadził "chrome.management.getSelf", który jest o wiele bardziej odpowiedni do tego celu. – Xan

18

Oto przykładowy kod jak to zrobić:

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

Używany w Kuoll Remote Web Debugger

+2

O wiele prostszym sposobem jest użycie zamiast tego [chrome.runtime.getManifest()] (https://developer.chrome.com/extensions/runtime#method-getManifest). –

+0

Och, oczywiście. Naprawiony. –

1

Można sprawdzić, czy rozszerzenie jest uruchomiony w trybie dewelopera (czyli po rozpakowaniu), sprawdzając, czy zawiera on update_url atrybut w swoim manifeście. To zależy od manifestu twojego rozpakowanego rozszerzenia, , a nie zawierającego 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'); 
Powiązane problemy