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
var gettingPage = browser.runtime.getBackgroundPage();
Paramètres
None.
Valeur retournée
Compatibilité des navigateurs
Report problems with this compatibility data on GitHubdesktop | mobile | ||||||
---|---|---|---|---|---|---|---|
getBackgroundPage |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- See implementation notes.
Exemples
Supposons un script d'arrière-plan définisse une fonction foo()
:
// 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 :
// 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.