tabs.connect()
Appelez cette fonction pour configurer une connexion entre les scripts d'arrière-plan de l'extension (ou d'autres scripts privilégiés, tels que les scripts d'arrière-plan de l'extrension (ou d'autres scripts privilégiés, tels que les scripts de pages d'options) et les scripts de contenu appartenant à cette extension et s'exécutant dans l'onglet spécifié. Cette fonction renvoie un objet runtime.Port
.
Lorsque cela est appelée, l'événement runtime.onConnect
est déclenché dans tout script de contenu appartenant à cette extension qui s'exécute dans l'onglet spécifié. L'écouteur d'événement recevra un autre objet runtime.Port
. Les deux parties peuvent ensuite utiliser les objets Port
pour échanger des messages.
Pour plus de détails, voir connection-based messaging.
Syntaxe
browser.tabs.connect(
tabId, // integer
connectInfo, // optional object
);
Parameters
tabId
-
integer
. ID of the tab whose content scripts we want to connect to. connectInfo
Facultatif-
object
.name
Facultatif-
string
. Will be passed intoruntime.onConnect
event listeners in content scripts belonging to this extension and running in the specified tab. frameId
Facultatif-
integer
. Open a port to a specific frame identified byframeId
instead of all frames in the tab.
Return value
runtime.Port
. A port that can be used to communicate with the content scripts running in the specified tab.
Examples
In this example a background script listens for a click on a browser action, then connects to the currently active tab, then sends a message using the Port
that's returned from connect()
:
function connectToTab(tabs) {
if (tabs.length > 0) {
var examplePort = browser.tabs.connect(tabs[0].id, {
name: "tabs-connect-example",
});
examplePort.postMessage({ greeting: "Hi from background script" });
}
}
function onError(error) {
console.log(`Error: ${error}`);
}
browser.browserAction.onClicked.addListener(function () {
var gettingActive = browser.tabs.query({
currentWindow: true,
active: true,
});
gettingActive.then(connectToTab, onError);
});
Compatibilité des navigateurs
BCD tables only load in the browser
Note :
Cette API est basée sur l'API Chromium chrome.tabs
. Cette documentation est dérivée de tabs.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.