mg.ui
mg.ui 对象包含了用来操作用户界面并与用户界面进行信息交流的接口。
show
- Type:
show(): void
用于使 UI 界面可见。当调用 mg.showUI(__html__) 创建用户界面后,可以使用 mg.ui.show() 和 mg.ui.hide() 方法来改变 UI 界面的可见性。
hide
- Type:
hide(): void
与 mg.ui.show() 方法对立,hide() 方法用来是 UI 界面不可见,相当于 display: none。因此,用于实现 UI 界面的代码仍然可以继续运行。
resize
- Type:
(width: number, height: number, withoutHeader?: boolean): void
用来设置社区插件 UI 的尺寸
如果 withoutHeader 参数为 true,则 UI 界面的高度将不包含插件头部的高度。默认值为 false。
close
- Type:
close(): void
销毁 UI 界面。调用此方法会导致 <iframe> 被销毁,UI 界面无法再接收消息,<iframe> 内的代码将不再运行。
moveTo
- Type:
moveTo(x: number, y: number): void
用于设置插件ui视窗的定位,坐标原点为画布页面视窗的左上角,单位为像素值。
viewport
- Type:
UIViewport
可获取当前插件视窗的属性,包括定位和宽高等,具体可查看类型UIViewport。
postMessage
- Type:
postMessage(message: any, origin?: string): void
ui.postMessage 函数用于向用户界面(<iframe>)发送消息。第一个参数用于指定消息的内容,几乎可以是任何数据,只要该数据是可序列化的(serializable)对象。该限制与浏览器的 postMessage API 相同,可以参考:
origin 参数是可选的,默认值为字符串 '*'。只有当 <iframe> 内的文档与 origin 匹配时才会发送消息。
onmessage
- Type:
((pluginMessage: any, origin: string) => void) | undefined
可以通过设置 mg.ui.onmessage 属性来监听由 UI 界面发送过来的消息事件。例如:
mg.ui.onmessage = (message, origin) => {
// ...
}
事件处理函数接收两个参数:
message: any:由 UI 界面发送的消息。origin: string:发送消息的文档的源。