extern_aansluitbaar

De externally_connectable manifest eigenschap geeft aan welke extensies, apps en webpagina's verbinding kunnen maken met uw extensie via runtime.connect en runtime.sendMessage .

Voor een tutorial over het doorgeven van berichten, zie cross-extensie en app-berichten en berichten verzenden vanaf webpagina's .

Verbinden zonder extern_connectable

Als externally_connectable niet is gedeclareerd in het manifest van uw extensie, kunnen alle extensies en apps verbinding maken, maar kunnen geen webpagina's verbinding maken. Als gevolg hiervan, wanneer u uw manifest bijwerkt om externally_connectable te gebruiken, en "ids": ["*"] niet is opgegeven, verliezen andere extensies en apps de mogelijkheid om verbinding te maken met uw extensie. Dit kan een onbedoeld gevolg zijn, dus houd hier rekening mee.

Voorbeeld van manifest.json

{
  "name": "My externally connectable extension",
  "externally_connectable": {
    // Extension and app IDs. If this field is not specified, no
    // extensions or apps can connect.
    "ids": [
      "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
      ...
      // Alternatively, to match all extensions and apps, specify only
      // "*".
      "*"
    ],
    // Match patterns for web pages. Does not affect content scripts.
    // If this field is not specified, no webpages can connect.
    "matches": [
      "https://*.google.com/*",
      "*://*.chromium.org/*",
      ...
    ],
    // Indicates that the extension would like to make use of the TLS
    // channel ID of the web page connecting to it. The web page must
    // also opt to send the TLS channel ID to the extension via setting
    // includeTlsChannelId to true in runtime.connect's connectInfo
    // or runtime.sendMessage's options.
    "accepts_tls_channel_id": false
  },
  ...
}

Referentie

De externally_connectable manifestsleutel kan de volgende eigenschappen hebben:

  • ids (array van tekenreeksen) - optioneel

    De ID's van extensies of apps die verbinding mogen maken. Als u dit leeg of niet specificeert, kunnen er geen extensies of apps verbinding maken.

    Met het jokerteken "*" kunnen alle extensies en apps verbinding maken.

  • matches (array van string) - optioneel

    De URL-patronen voor webpagina's die verbinding mogen maken. Dit heeft geen invloed op inhoudsscripts. Indien leeg of niet gespecificeerd, kunnen geen webpagina's verbinding maken.

    Patronen kunnen geen wildcarddomeinen of subdomeinen van (effectieve) topniveaudomeinen bevatten; *://google.com/* en http://*.chromium.org/* zijn geldig, terwijl <all_urls> , http://*/* , *://*.com/* en zelfs http://*.appspot.com/* zijn dat niet.

  • accepts_tls_channel_id (booleaans) - optioneel

    Indien true , zullen berichten die worden verzonden via runtime.connect of runtime.sendMessage runtime.MessageSender.tlsChannelId instellen als deze methoden daarom vragen. Indien false , zal runtime.MessageSender.tlsChannelId onder geen enkele omstandigheid worden ingesteld.