Version: 5.x
vm-embed
Embeds an external media player and enables interacting with it via postMessage
. This is
generally used internally by other providers, but you could use it if your requirements are
simple. You'll also get the benefits of preconnections and lazy-loading. Refer
to existing providers to see what params you can pass in, how to send commands
to the player, and how to listen to events.
#
Usage- HTML
- React
- Vue
- Svelte
- Stencil
- Angular
example.vue
example.html
example.ts
#
PropertiesProperty | Description | Type | Default |
---|---|---|---|
decoder | A function which accepts the raw message received from the embedded media player via postMessage and converts it into a POJO. | ((data: string) => Params ∣ undefined) ∣ undefined | undefined |
embedSrc | A URL that will load the external player and media (Eg: https://www.youtube.com/embed/DyTCOwB0DVw). | string | '' |
mediaTitle | The title of the current media so it can be set on the inner iframe for screen readers. | string | '' |
origin | Where the src request had originated from without any path information. | string ∣ undefined | undefined |
params | The parameters to pass to the embedded player which are appended to the embedSrc prop. These can be passed in as a query string or object. | string ∣ { [x: string]: unknown; } | '' |
preconnections | A collection of URLs to that the browser should immediately start establishing a connection with. | string[] | [] |
#
MethodsMethod | Description | Signature |
---|---|---|
postMessage | Posts a message to the embedded media player. | postMessage(message: any, target?: string ∣ undefined) => Promise<void> |
#
EventsEvent | Description | Type |
---|---|---|
vmEmbedLoaded | Emitted when the embedded player and any new media has loaded. | CustomEvent<void> |
vmEmbedMessage | Emitted when a new message is received from the embedded player via postMessage . | CustomEvent<any> |
vmEmbedSrcChange | Emitted when the embedSrc or params props change. The payload contains the params serialized into a query string and appended to embedSrc . | CustomEvent<string> |