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
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
BCD tables only load in the browser
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:
/*
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");
});
Beispiel-Erweiterungen
Hinweis: Diese API basiert auf der chrome.runtime
API von Chromium. Diese Dokumentation stammt aus runtime.json
im Chromium-Code.