Path: blob/main/files/en-us/mozilla/add-ons/webextensions/api/runtime/onconnectexternal/index.md
6552 views
------{{AddonSidebar()}}
Fired when an extension receives a connection request from a different extension.
To send a message which will be received by the onConnectExternal listener, use {{WebExtAPIRef("runtime.connect()")}}, passing the ID of the recipient in the extensionId parameter.
The listener is passed a {{WebExtAPIRef('runtime.Port')}} object which it can then use to send and receive messages. The Port object also contains a sender property, which is a {{WebExtAPIRef("runtime.MessageSender")}} object, and which the recipient can use to check the sender's ID.
Syntax
Events have three functions:
addListener(callback): Adds a listener to this event.
removeListener(listener): Stop listening to this event. The
listenerargument is the listener to remove.
hasListener(listener): Checks whether a
listeneris registered for this event. Returnstrueif it is listening,falseotherwise.
addListener syntax
Parameters
function: A callback function that will be called when this event occurs. The function will be passed the following arguments:
port: A {{WebExtAPIRef('runtime.Port')}} object connecting the current script to the other extension it is connecting to.
Browser compatibility
{{Compat}}
Examples
In this example the extension Hansel connects to the extension Gretel:
Gretel listens for the connection and checks that the sender is really Hansel:
{{WebExtExamples}}
Note: This API is based on Chromium's
chrome.runtimeAPI. This documentation is derived fromruntime.jsonin the Chromium code.