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
Properties#
| Property | 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[] | [] |
Methods#
| Method | Description | Signature |
|---|---|---|
postMessage | Posts a message to the embedded media player. | postMessage(message: any, target?: string ∣ undefined) => Promise<void> |
Events#
| Event | 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> |