runtime.sendNativeMessage()

Envoie un seul message d'une extension à une application native.

Cela prend deux paramètres obligatoires : le nom de l'application native et un objet JSON qui est le message à envoyer. Le navigateur lancera l'application native et délivrera le message.

C'est une fonction asynchrone qui renvoie une Promise. The first message sent by the native application is treated as a response to the sendNativeMessage() call, and the promise will be fulfilled with this message as a parameter. Note that you can't use runtime.onMessage to get responses from the application: you must use the callback function instead.

Une nouvelle instance de l'application est lanc√©e pour appel √†  runtime.sendNativeMessage(). Le navigateur terminera l'application native apr√®s avoir re√ßu une r√©ponse. Pour mettre fin √† une application native, le navigateur ferme le canal, donne au processus quelques secondes pour quitter normalement, puis le tue s'il ne s'est pas arr√™t√©.

Pour plus d'informations, voir Native messaging.

Syntaxe

var sending = browser.runtime.sendNativeMessage(
  application,             // string
  message                  // object
)

Paramètres

application
string. Le nom de l'application native. Cela doit correspondre à la propriété "name" dans le fichier manifest de l'application native.
message
object. Un objet JSON qui sera envoyé à l'application native.

Valeur retournée

Une Promise. Si l'expéditeur a envoyé une réponse, celle-ci sera remplie avec la réponse en tant qu'objet JSON. Sinon, il sera rempli sans arguments. Si une erreur survient lors de la connexion à l'application native, la promesse sera rejetée avec un message d'erreur.

Compatibilité du navigateur

BCD tables only load in the browser

Exemples

Voici un script d'arrière-plan qui envoie un message "ping" à l'application "ping_pong" et enregistre la réponse, chaque fois que l'utilisateur clique sur l'action du navigateur :

function onResponse(response) {
  console.log(`Received ${response}`);
}

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

/*
On a click on the browser action, send the app a message.
*/
browser.browserAction.onClicked.addListener(() => {
  console.log("Sending:  ping");
  var sending = browser.runtime.sendNativeMessage("ping_pong", "ping");
  sending.then(onResponse, onError);
});
Remerciements :

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.