runtime.connectNative()

Connecte l'extension à une appplication native sur l'ordinateur de l'utilisateur.Cela prend le nom d'une application native en tant que paramètre. Il démarre l'application native et retourne un objet runtime.Port à l'appelant.L'appelant peut utiliser le Port pour échanger des messages avec l'application native utilisant Port.postMessage() et port.onMessage.L'application native s'exécute jusqu'à ce qu'elle se termine, ou l'appelant appelle Port.disconnect(), ou la page qui a créé le Port est détruite. Une fois le Port est déconnecté, le navigateur mettra quelques secondes à se terminer pour quitter le processus, puis le désactiver s'il ne s'est pas arrêté.

Pour plus d'informations, voir messagerie native.

Syntaxe

js
var port = browser.runtime.connectNative(
  application, // string
);

Paramètres

application

string. Le nom de l'application native à laquelle se connecter. Cela doit correspondre à la propriété "name" dans le fichier manifest de l'application native.

Valeur retournée

Un objet runtime.Port. Le port que l'appelant peut utiliser pour échanger des messages avec l'application native.

Compatibilité des navigateurs

BCD tables only load in the browser

Exemples

Cet exemple se connecte à l'appplication native "ping_pong" et commence à en écouter les messages. Il envoie également un message à l'application native lorsque l'utilisateur clique sur l'icône d'une action du navigateur :

js
/*
On startup, connect to the "ping_pong" app.
*/
var port = browser.runtime.connectNative("ping_pong");

/*
Listen for messages from the app.
*/
port.onMessage.addListener((response) => {
  console.log("Received: " + response);
});

/*
On a click on the browser action, send the app a message.
*/
browser.browserAction.onClicked.addListener(() => {
  console.log("Sending:  ping");
  port.postMessage("ping");
});

Example extensions

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.