1.6.13 • Published 5 years ago
griffith-message-justcome v1.6.13
griffith-message
English | 简体中文
Griffith message communication plugin
Usage
import {EVENTS, ACTIONS, createMessageHelper} from 'griffith-message'createMessageHelper
Cross-window communication
const {subscribeMessage, dispatchMessage} = createMessageHelper(
id,
targetOrigin,
validateId
)| Name | Type | Description |
|---|---|---|
| id | string \| number | Unique identifier, each message will contain this id, the receiver can be used to verify. |
| targetOrigin | object | The targetOrigin parameter when sending a message. If it is not empty, it will check if the origin of the sent message is the same. |
| validateId | boolean | Will check if the id of the incoming message is the same as the id of the first parameter. |
subscribeMessage
const subscription = subscribeMessage((messageName, data, sourceWindow) => {
// do something
})
subscription.unsubscribe()| Name | Type | Description |
|---|---|---|
| messageName | string | Message Name |
| data | object | Message attached data |
| sourceWindow | MessageEventSource | Message Event Source |
dispatchMessage
dispatchMessage(targetWindow, messageName, data)| Name | Type | Description |
|---|---|---|
| targetWindow | Window | Target Window |
| messageName | string | Message Name |
| data | object | Message attached data |
EVENTS
Events received from the player
messageName | Description | data |
|---|---|---|
EVENTS.DOM.PLAY | Play | see DOM type data table |
EVENTS.DOM.PLAYING | Resume playback from pause or buffer | see DOM type data table |
EVENTS.DOM.PAUSE | Pause | see DOM type data table |
EVENTS.DOM.ENDED | Ended | see DOM type data table |
EVENTS.DOM.TIMEUPDATE | Timeupdate | see DOM type data table |
EVENTS.DOM.ERROR | Error | see DOM type data table |
EVENTS.DOM.WAITING | Buffer | see DOM type data table |
EVENTS.PLAYER.REQUEST_PLAY | User starts playback | null |
EVENTS.PLAYER.QUALITY_CHANGE | Play quality switching | {quality: string, prevQuality: string} |
EVENTS.PLAYER.PLAY_COUNT | Playback | null |
EVENTS.PLAYER.PLAY_FAILED | Play failed | {currentTime: number} |
EVENTS.PLAYER.ENTER_FULLSCREEN | Enter fullScreen | null |
EVENTS.PLAYER.EXIT_FULLSCREEN | Exit fullscreen | null |
DOM type data
| Name | Type | Description |
|---|---|---|
currentTime | number | Current time |
duration | number | Total video duration |
error | {code: number, message: string, name: stirng} or null | HTMLMediaElement.error |
ACTIONS
Event sent to the player
messageName | Description | data | Status |
|---|---|---|---|
ACTIONS.PLAYER.PLAY | Play | {applyOnFullScreen: boolean} Applied to full screen video | TODO |
ACTIONS.PLAYER.PAUSE | Pause | Applied to full screen video | SUPPORTED |
ACTIONS.PLAYER.SET_VOLUME | Set the volume | {volume: number} Volume value from 0 to 1 | TODO |
ACTIONS.PLAYER.ENTER_FULLSCREEN | Enter fullScreen | null | TODO |
ACTIONS.PLAYER.EXIT_FULLSCREEN | Exit fullscreen | null | TODO |