Options
All
  • Public
  • Public/Protected
  • All
Menu

消息盒子 用于跨iframe的消息处理和发送 使用说明: 父窗口中: 初始化Messenger对象 推荐指定项目名称, 避免Mashup类应用中, 多个开发商之间的冲突 let messenger = new Messenger('Parent', 'kdayun'); iframe: iframe中 - 初始化Messenger对象 注意! Messenger之间必须保持项目名称一致, 否则无法匹配通信 let messenger = new Messenger('iframe1', 'kdayun');

多个iframe, 使用不同的名字 let messenger = new Messenger('iframe2', 'kdayun'); iframe内监听 messenger.on(function(msg){ alert("收到消息: " + msg); }); [消息发送]: // 父窗口中 - 向单个iframe发消息 messenger.targets['iframe1'].send(msg1); messenger.targets['iframe2'].send(msg2) 父窗口中 - 向所有目标iframe广播消息 messenger.send(msg);

发送前将json内容stringify, 收到后进行parse msg格式自定义 : msg={ message: WM_xxxxx data:{ YYYYYYY } }

Hierarchy

  • Messenger

Index

Constructors

constructor

  • new Messenger(msgBoxName: string, projName: string, prefix?: string): Messenger
  • 消息类

    Parameters

    • msgBoxName: string

      信箱名 一般是iframe的名称

    • projName: string

      项目名称 区分不同的项目的消息 避免冲突

    • prefix: string = ''

      前缀

    Returns Messenger

Properties

listenFunc

listenFunc: ((msgkey: string) => boolean)[]

name

name: string

prefix

prefix: string

targets

targets: {} = ...

Type declaration

Methods

addIFrameTarget

  • addIFrameTarget(target: Window, name: string): void
  • 增加消息观察着对象

    Parameters

    • target: Window
    • name: string

    Returns void

broadcast

  • broadcast(msg: string): void
  • 广播消息

    Parameters

    • msg: string

    Returns void

clear

  • clear(): void
  • Returns void

init

  • init(): void
  • 初始化消息监听

    Returns void

on

  • on(callback: (msgkey: string) => boolean): void
  • msgkey

    Parameters

    • callback: (msgkey: string) => boolean
        • (msgkey: string): boolean
        • Parameters

          • msgkey: string

          Returns boolean

    Returns void

send

  • send(msg: string): void
  • 发送消息

    Parameters

    • msg: string

    Returns void

Static getsupportPostMessage

  • getsupportPostMessage(): boolean
  • Returns boolean

Generated using TypeDoc