Options
All
  • Public
  • Public/Protected
  • All
Menu

消息服务类 组件,iframe,window直接的消息传递

Hierarchy

Index

Constructors

constructor

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

    Parameters

    • msgBoxName: string = 'kdayun'

      信箱名 一般是iframe的名称

    • projName: string = 'core'

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

    • prefix: string = ''

      前缀

    Returns MessageServices

Properties

Private listens

listens: HashMap<string, HashMap<string, Function[]>>

Private msgCallback

msgCallback: object

消息的处理回调保存类

Private name

name: string

Private prefix

prefix: string

Private targets

targets: {}

Type declaration

  • [x: string]: Target

Methods

clear

  • clear(): void
  • 注销监听

    Returns void

Private doGlobalOn

  • doGlobalOn(handle: string, msg: string, callback: Function, override?: boolean): void
  • Parameters

    • handle: string
    • msg: string
    • callback: Function
    • override: boolean = false

    Returns void

Private doGlobalSend

  • 跨域iframe发送

    Parameters

    Returns void

Private doOn

  • doOn(handle: string, msg: string, callback: Function, override?: boolean): void
  • Parameters

    • handle: string
    • msg: string
    • callback: Function
    • override: boolean = false

    Returns void

Private init

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

    Returns void

Private innerDoOn

  • innerDoOn(handle: string, msg: string, callback: Function, override?: boolean): void
  • Parameters

    • handle: string
    • msg: string
    • callback: Function
    • override: boolean = false

    Returns void

Private isFunEqu

  • isFunEqu(f1: Function, f2: Function): boolean
  • 判断函数是否相等

    Parameters

    • f1: Function

      函数1

    • f2: Function

      函数2

    Returns boolean

Private isJSONString

  • isJSONString(str: any): boolean
  • Parameters

    • str: any

    Returns boolean

log

  • log(): void
  • log(arg1: string): void
  • log(arg1: number, arg2: string): void
  • Returns void

  • Parameters

    • arg1: string

    Returns void

  • Parameters

    • arg1: number
    • arg2: string

    Returns void

off

  • off(handle: string, msgFilter: string, fn?: Function): void
  • 反注册处理 注意: fn不要使用 bing() 的方式.由于无法比较bing()是否相等.会导致很多函数反注册有误

    Parameters

    • handle: string

      注册过的事件字符串

    • msgFilter: string

      消息字符串

    • Optional fn: Function

      消息处理函数

    Returns void

on

  • on(handle: string | IComponent, msg: string, callback: Function, override?: boolean, isGlobal?: boolean): void
  • 注册对象的消息处理

    Parameters

    • handle: string | IComponent

      接收消息来源的对象id或者组件实例...等等.

    • msg: string

      消息字符串

    • callback: Function

      消息处理回调

    • override: boolean = false

      是否覆盖之前注册的消息处理函数 默认值 = false 只允许存在一个处理回调.

    • isGlobal: boolean = false

      是否全局监听(跨域iframe监听) 默认值 = false

    Returns void

Private raiseMessage

  • raiseMessage(handle: string, msg: IMessage, islocal?: boolean): void
  • 触发消息对应的回调

    Parameters

    • handle: string

      消息的唯一id

    • msg: IMessage

      消息体

    • islocal: boolean = true

      本地调用 来源addEventListener为非本地调用的

    Returns void

send

  • 发送消息给对象

    Parameters

    • handle: string | IComponent

      接收消息来源的对象id...等等.

    • msg: string

      消息值

    • parms: any

      附带到消息的参数对象 注意消息参数对象不能是组件的实例,这是因为发送会序列化操作会导致死循环

    • isGlobal: boolean = false

      是否全局监听(跨域iframe监听) 默认值 = false

    • Optional doMsgCallback: MessageCallbackhandle

      可选参数, 处理消息的回调

    Returns void

Static getInstance

  • getInstance<T>(): T
  • Type parameters

    • T: {}

    Returns T

Static getSupportPostMessage

  • getSupportPostMessage(): boolean
  • 判断浏览器是否支持postMessage

    Returns boolean

    true 支持;则反之

Generated using TypeDoc