Class PostMessageChannel

PostMessageChannel class. This is an class which warp postMessage communication and allow to work with it with higher API. This have dataSerializer feature, auto-connect feature (with defer), ensure url of the target (security), send (with wait connect), listener on messages, and events for lisfecycle of postmessageChannel status

Hierarchy

  • EventEmitter

Properties

prefixed: string | boolean
url: URL

The allowed URL for PostMessage communication

dataSerializer: DataSerializer

The dataserializer to use for parse and stringify object into PostMessage

Property

used to unserialize data

Property

used to serialize data

_channelListener: EventEmitter<string | symbol, any> = ...

Channel where everything will be broadcast

_socket: false | Window = false

The socket used to directly send PostMessage

_domElement: false | HTMLIFrameElement = false

The domElement which contains socket to send PostMessage (in contentWindow)

_previouslyConnected: boolean = false

Flag to know if we have a reconnect without a disconnect

_listenerReference: false | ((e: MessageEvent<any>) => void) = false

Private property to save the message eventListener function

_isConnected: boolean = false

Private property to save the statuts of the PostMessage communication.

Constructors

  • Constructor of PostMessageChannel

    Parameters

    • target: Window | HTMLIFrameElement

      Target of the PostMessageChannel

    • targetUrl: string | URL

      Url allowed to communicate

    • Optional __namedParameters: {
          dataSerializer?: DataSerializer;
          autoConnect?: boolean;
      } = {}
      • Optional dataSerializer?: DataSerializer
      • Optional autoConnect?: boolean

    Returns PostMessageChannel

Accessors

  • get isConnected(): boolean
  • Boolean which expose the statuts of the PostMessage communication.

    Returns

    Returns boolean

  • get isChildFrame(): boolean
  • Boolean which expose if it's the child frame (iframe).

    Returns

    Returns boolean

Methods

  • Simple check with throw an Error if you are not in a child Frame

    Returns

    Returns void

  • Simple check with throw an Error if you are not in a parent Frame

    Returns

    Returns void

  • Try to connect to postMessageChannel

    Returns

    return false if we are already connected or true if the request is handled

    Returns boolean

  • Disconnect to the postMessageChannel

    Returns

    return false if we are already disconnected or true if the request is handled

    Returns boolean

  • Send a message into the postMessageChannel

    Returns

    Parameters

    • eventName: string

      The identifier of the message

    • Optional data: {} = {}

      Associated data with the message

      • Optional waitConnected: boolean = true

        If we delay communication and wait we are connected or not

      Returns void

    • Return an array listing the events for which the emitter has registered listeners.

      Returns (string | symbol)[]

    • Return the listeners registered for a given event.

      Type Parameters

      • T extends string | symbol

      Parameters

      • event: T

      Returns ((...args: any[]) => void)[]

    • Return the number of listeners listening to a given event.

      Parameters

      • event: string | symbol

      Returns number

    • Calls each of the listeners registered for a given event.

      Type Parameters

      • T extends string | symbol

      Parameters

      • event: T
      • Rest ...args: any[]

      Returns boolean

    • Add a listener for a given event.

      Type Parameters

      • T extends string | symbol

      Parameters

      • event: T
      • fn: ((...args: any[]) => void)
          • (...args: any[]): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      • Optional context: any

      Returns PostMessageChannel

    • Type Parameters

      • T extends string | symbol

      Parameters

      • event: T
      • fn: ((...args: any[]) => void)
          • (...args: any[]): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      • Optional context: any

      Returns PostMessageChannel

    • Add a one-time listener for a given event.

      Type Parameters

      • T extends string | symbol

      Parameters

      • event: T
      • fn: ((...args: any[]) => void)
          • (...args: any[]): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      • Optional context: any

      Returns PostMessageChannel

    • Remove the listeners of a given event.

      Type Parameters

      • T extends string | symbol

      Parameters

      • event: T
      • Optional fn: ((...args: any[]) => void)
          • (...args: any[]): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      • Optional context: any
      • Optional once: boolean

      Returns PostMessageChannel

    • Type Parameters

      • T extends string | symbol

      Parameters

      • event: T
      • Optional fn: ((...args: any[]) => void)
          • (...args: any[]): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      • Optional context: any
      • Optional once: boolean

      Returns PostMessageChannel

    • Remove all listeners, or those of the specified event.

      Parameters

      • Optional event: string | symbol

      Returns PostMessageChannel

    • Register the callbacks for handle connection of postMessageChannel and auto-connect if asked.

      Returns

      Parameters

      • Optional autoConnect: boolean

        If we need to auto-connect or not

      Returns void

    Generated using TypeDoc