Questa domanda è enormemente vecchia ma è ancora il miglior risultato su Google quando cerchi modi per provare a disabilitare questo messaggio popup in quanto uno sviluppatore di estensioni che non ha aggiunto la propria estensione al Chrome Store, non ha accesso ai criteri di gruppo a causa al loro sistema operativo e non utilizza Chrome Dev Build. Al momento non esiste una soluzione ufficiale in questa circostanza, quindi pubblicherò qui un po '"confuso".
Questo metodo ci fa immediatamente creare una nuova finestra e chiudere quella vecchia. La finestra popup è associata alla finestra originale, quindi nei casi d'uso normali il popup non viene mai visualizzato poiché la finestra viene chiusa.
La soluzione più semplice qui è creare una nuova finestra e chiudere tutte le finestre che non sono la finestra che abbiamo appena creato nel callback:
chrome.windows.create({
type: 'normal',
focused: true,
state: 'maximized'
}, function(window) {
chrome.windows.getAll(function(windows) {
for (var i = 0; i < windows.length; i++) {
if (windows[i].id != window.id) {
chrome.windows.remove(windows[i].id);
}
}
});
});
Inoltre, possiamo rilevare come è installata questa estensione ed eseguire questo codice solo se si tratta di un'installazione di sviluppo (anche se probabilmente è meglio rimuoverla del tutto dal codice di rilascio). Per prima cosa creiamo la funzione di callback per una chiamata chrome.management.getSelf che ci consente di controllare il tipo di installazione dell'estensione, che in pratica sta semplicemente avvolgendo il codice sopra in un'istruzione if:
function suppress_dev_warning(info) {
if (info.installType == "development") {
chrome.windows.create({
type: 'normal',
focused: true,
state: 'maximized'
}, function(window) {
chrome.windows.getAll(function(windows) {
for (var i = 0; i < windows.length; i++) {
if (windows[i].id != window.id) {
chrome.windows.remove(windows[i].id);
}
}
});
});
}
}
poi chiamiamo chrome.management.getSelf con il callback che abbiamo fatto:
chrome.management.getSelf(suppress_dev_warning);
Questo metodo presenta alcune avvertenze, vale a dire che stiamo assumendo una pagina di sfondo persistente, il che significa che il codice viene eseguito solo una volta alla prima apertura di Chrome. Un secondo problema è che se ricarichiamo / aggiorniamo l'estensione dalla pagina chrome: // extensions, chiuderà tutte le finestre attualmente aperte e nella mia esperienza a volte visualizzeremo comunque l'avvertimento. Questo caso speciale può essere evitato controllando se ci sono schede aperte su "chrome: // extensions" e non eseguendo se lo sono.