runtime.connectNative()

Stellt eine Verbindung der Erweiterung zu einer nativen Anwendung auf dem Computer des Benutzers her. Dies erfordert den Namen einer nativen Anwendung als Parameter. Es startet die native Anwendung und gibt ein runtime.Port-Objekt an den Aufrufer zurück. Der Aufrufer kann dann den Port verwenden, um Nachrichten mit der nativen Anwendung über Port.postMessage() und port.onMessage auszutauschen. Die native Anwendung wird ausgeführt, bis sie selbst beendet wird oder der Aufrufer Port.disconnect() aufruft, oder die Seite, die Port erstellt hat, zerstört wird. Sobald der Port getrennt ist, gibt der Browser dem Prozess einige Sekunden, um sauber zu beenden, und beendet ihn dann, falls er nicht schon beendet wurde.

Weitere Informationen finden Sie unter Native Messaging.

Syntax

js
let port = browser.runtime.connectNative(
  application // string
)

Parameter

application

string. Der Name der nativen Anwendung, zu der eine Verbindung hergestellt werden soll. Dies muss mit der Eigenschaft "name" in der Manifestdatei der nativen Anwendung übereinstimmen.

Rückgabewert

Ein runtime.Port-Objekt. Der Port, den der Aufrufer verwenden kann, um Nachrichten mit der nativen Anwendung auszutauschen.

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Firefox for Android
Safari on iOS
connectNative

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.

Beispiele

Dieses Beispiel verbindet sich mit der nativen Anwendung "ping_pong" und beginnt, Nachrichten von dieser Anwendung zu empfangen. Es sendet der nativen Anwendung auch eine Nachricht, wenn der Benutzer ein Browser-Aktionssymbol anklickt:

js
/*
On startup, connect to the "ping_pong" app.
*/
let 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");
});

Beispielerweiterungen

Hinweis: Diese API basiert auf der chrome.runtime API von Chromium. Diese Dokumentation stammt aus runtime.json im Chromium-Code.