--- title: runtime.connectNative() slug: Mozilla/Add-ons/WebExtensions/API/runtime/connectNative tags: - API - Add-ons - Extensions - Méthode - Non-standard - Reference - WebExtensions - connectNative - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/connectNative ---
{{AddonSidebar()}}
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  {{WebExtAPIRef("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

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 {{WebExtAPIRef('runtime.Port')}}. Le port que l'appelant peut utiliser pour échanger des messages avec l'application native.

Compatibilité du navigateur

{{Compat("webextensions.api.runtime.connectNative")}}

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 :

/*
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");
});

{{WebExtExamples}}

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.