runtime.getBackgroundPage()

Récupère l'objet Window pour la page d'arrière-plan qui s'exécute dans l'extension en cours.

Cela consiste un moyen pratique pour d'autres scripts d'extension privilégiés d'accéder directement à la portée du script d'arrière plan. Cela leur permet d'accéder aux variables ou aux fonctions d'appel définies dans cette portée. Le "script privilégié" inclut ici les scripts s'exécutant dans les pages d'options, ou les scripts s'exécutant dans les fenêtres d'action du navigateur ou d'action page, mais n'inclut pas les scripts de contenu.

Notez que les variables déclarées à l'aide de const ou let n'apparaissaient pas dans l'objet window retourné par cette fonction.

Notez également que cette méthode ne peut pas être utilisée dans une fenêtre privée dans Firefox—Elle renvoie toujours null. Pour plus d'informations voir le bug lié à bugzilla.

Si la page d'arrière plan est une page événement, le système s'assuera qu'il est chargé avant de résoudre la promise.

C'est une fonction asynchrone qui renvoie une Promise.

Syntaxe

js
var gettingPage = browser.runtime.getBackgroundPage();

Paramètres

None.

Valeur retournée

Une Promise qui sera remplie avec l'objet Window pour la page d'arrière plan, s'il y en a une. Si l'extension n'inclut pas de page d'arrière-plan, la promise est rejetée avec un message d'erreur.

Compatibilité des navigateurs

BCD tables only load in the browser

Exemples

Supposons un script d'arrière-plan définisse une fonction foo():

js
// background.js

function foo() {
  console.log("I'm defined in background.js");
}

Un script exécuté dans un popup peut appeler cette fonction directement comme ceci :

js
// popup.js

function onGot(page) {
  page.foo();
}

function onError(error) {
  console.log(`Error: ${error}`);
}

var getting = browser.runtime.getBackgroundPage();
getting.then(onGot, onError);

Note :

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.