Cette question est extrêmement ancienne mais reste le meilleur résultat sur Google lorsque vous recherchez des moyens d'essayer de désactiver ce message contextuel en tant que développeur d'extension qui n'a pas ajouté son extension au Chrome Store, n'a pas accès aux politiques de groupe en raison de à leur système d'exploitation, et n'utilise pas la version de développement de chrome. Il n'y a actuellement pas de solution officielle dans ce cas, je vais donc en publier une quelque peu «hacky» ici.
Cette méthode nous permet de créer immédiatement une nouvelle fenêtre et de fermer l'ancienne. La fenêtre contextuelle est associée à la fenêtre d'origine, donc dans les cas d'utilisation normaux, la fenêtre contextuelle n'apparaît jamais puisque cette fenêtre se ferme.
La solution la plus simple ici est de créer une nouvelle fenêtre et de fermer toutes les fenêtres qui ne sont pas la fenêtre que nous venons de créer dans le rappel:
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);
}
}
});
});
De plus, nous pouvons détecter comment cette extension est installée et n'exécuter ce code que s'il s'agit d'une installation de développement (bien qu'il soit probablement préférable de supprimer complètement le code de version). Tout d'abord, nous créons la fonction de rappel pour un appel chrome.management.getSelf qui nous permet de vérifier le type d'installation de l'extension, qui consiste simplement à envelopper le code ci-dessus dans une instruction 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);
}
}
});
});
}
}
ensuite, nous appelons chrome.management.getSelf avec le rappel que nous avons effectué:
chrome.management.getSelf(suppress_dev_warning);
Cette méthode a quelques mises en garde, à savoir que nous supposons une page d'arrière-plan persistante, ce qui signifie que le code ne s'exécute qu'une seule fois lorsque Chrome est ouvert pour la première fois. Un deuxième problème est que si nous rechargeons / actualisons l'extension à partir de la page chrome: // extensions, cela fermera toutes les fenêtres actuellement ouvertes et, d'après mon expérience, affichera parfois l'avertissement de toute façon. Ce cas particulier peut être évité en vérifiant si des onglets sont ouverts à "chrome: // extensions" et en ne s'exécutant pas s'ils le sont.