PostMessage
PostMessage 是 HTML5 Web 消息传递 协议,它允许在 iframe 存储和 ONLYOFFICE 文档之间在浏览器中交换消息。它允许online office框架与其父主机页面进行通信。
otherWindow.postMessage(msg, targetOrigin)
参数
msg
消息数据:
类型: string 或 JSON 对象
msg.MessageId
消息名称
类型: string
例如: "App_LoadingStatus"
msg.SendTime
消息发送的时间,以 UTC 1970 年 1 月 1 日午夜以来的毫秒数表示。
类型: integer
例如: 1329014075000
msg.Values
消息属性。
类型: JSON 对象。
targetOrigin
otherWindow 原点必须是要调度的事件。它将被设置为 CheckFileInfo中提供的 PostMessageOrigin 属性。
*otherWindow* 是对 msg 将被发布到的另一个窗口的引用。
类型: string
在这里,您可以找到可供 ONLYOFFICE 文档发送到主机页面的消息。Online office接收消息的过程将在稍后提供。
可用消息
App_LoadingStatus
此消息是在加载online office应用程序框架后被发布的。在主机收到此消息之前,它必须假定online office 框架无法对除 Host_PostmessageReady 之外的任何传入消息做出反应。
Blur_Focus
主机发布这条消息是为了阻止在线办公应用程序抢占焦点。每当在在线办公框架上绘制主机应用程序 UI 时,主机应发送此消息,以便在线办公应用程序不会干扰主机 UI 行为。每当在在线办公框架上绘制主机应用程序UI时,主机应发送此消息,以便在线办公应用程序不会干扰主机UI行为。此消息仅用于编辑模式。它不影响视图模式。
Edit_Notification
此消息在用户首次对文档进行编辑时被发布,此后每五分钟被发布一次(如果用户在过去五分钟内进行了编辑)。主机可以使用此消息来衡量用户是否正在与online office进行交互。在共同创作会话中,主机不能为此目的使用 WOPI 调用。
File_Rename
当用户重命名online office中的当前文件时,会发布此消息。主机可以使用此消息选择性地更新 UI,例如页面标题。
Grab_Focus
此消息由主机发布,以恢复在线办公应用程序的积极抢占焦点。每当在线办公框架上绘制的主机应用程序 UI 关闭时,主机应发送此消息。 这使在线办公应用程序恢复运行。此消息仅用于编辑模式。它不影响视图模式。
Host_PostmessageReady
此消息由主机在完成加载时发布。 然后在线办公框架收到Host_PostmessageReady,完成加载,并将 App_LoadingStatus 消息发送到主机页面。之后,所有其他 PostMessage 消息都可用。
UI_Close
由于错误或用户操作,online office 应用程序关闭时会发布此消息。要发送此消息,来自主机的 CheckFileInfo 响应中的 ClosePostMessage 属性必须设置为true。否则,online office 将不会发送此消息。
UI_Edit
当用户激活online office中的 编辑 UI 时,会发送此消息。此 UI 仅在使用视图操作时可见。要发送此消息,来自主机的 CheckFileInfo 响应中的 EditModePostMessage 属性必须设置为 true。否则,online office将不会发送此消息,而是会将内部 iframe 重定向到编辑操作 URL。
UI_FileVersions
当用户在online office中激活 以前的版本 UI 时,会发布此消息。主机应使用此消息来触发任何自定义文件版本历史 UI。要发送此消息,来自主机的 CheckFileInfo 响应中的 FileVersionPostMessage 属性必须设置为 true。 否则,online office将不会发送此消息。
UI_Sharing
当用户激活online office中的 共享 UI 时,会发布此消息。主机应使用此消息来触发任何自定义共享 UI。要发送此消息,来自主机的 CheckFileInfo 响应中的 FileSharingPostMessage 属性必须设置为 true。否则,online office将不会发送此消息。
Collabora特性
Action_InsertGraphic
发布此消息是为了从 URL 下载图像并将其插入到文档中。
UI_InsertGraphic
发布此消息以显示用户界面元素(例如,对话框),允许用户从集成中选择图像。该集成应该提供一个可以下载一次的临时 URL,通过 Action_InsertGraphic 消息将 Values 设置为临时 URL,将其返回。
请注意,PostMessage 消息的优先级高于 CheckFileInfo中提供的 CloseUrl, HostEditUrl, FileSharingUrl, FileVersionUrl 属性。