• Post category:WOPI REST API
  • Запись изменена:07.06.2023

PostMessage — это протокол обмена веб-сообщениями HTML5 , который позволяет обмениваться сообщениями в браузере между хранилищем iframe и Р7 Document Server. Он позволяет фрейму онлайн-офиса взаимодействовать с родительской хост-страницей.

otherWindow.postMessage (msg, targetOrigin)
Параметры
НазваниеОписаниеТип
Данные сообщения:

  • MessageId — имя сообщения,
    тип: строковый,
    пример: «App_LoadingStatus»;
  • SendTime — время отправки сообщения, выраженное в миллисекундах с полуночи 1 января 1970 года по всемирному координированному времени,
    тип: целое число,
    пример: 1329014075000;
  • Values — the message properties,
    тип: JSON object.
строковый or объект JSON
Источник otherWindow, который должен быть для отправки события. Для него будет установлено свойство PostMessageOrigin , предоставленное в CheckFileInfo.
*otherWindow — это ссылка на другое окно, в которое будет отправлено сообщение.
строковый
Здесь вы можете найти сообщения, которые Р7 Document Server может отправить на страницу хоста. Процесс получения сообщений онлайн-офиса будет доступен позже.

Доступные сообщения

MessageIdОписание
Это сообщение публикуется после загрузки фрейма приложения онлайн-офиса. Пока хост не получит это сообщение, он должен исходить из того, что фрейм онлайн-офиса не может реагировать ни на какие входящие сообщения, кроме Host_PostmessageReady.
Это сообщение публикуется, когда пользователь впервые вносит изменения в документ, а затем каждые пять минут, если пользователь вносил изменения в течение последних пяти минут. Организаторы могут использовать это сообщение, чтобы определить, взаимодействуют ли пользователи с онлайн-офисом. В сеансах совместного редактирования хосты не могут использовать для этой цели вызовы WOPI.
Это сообщение публикуется, когда пользователь переименовывает текущий файл в онлайн-офисе. Хост может использовать это сообщение для дополнительного обновления пользовательского интерфейса, например заголовка страницы.
Это сообщение публикуется, когда приложение онлайн-офиса закрывается либо из-за ошибки, либо из-за действий пользователя. Чтобы отправить это сообщение, для свойства ClosePostMessage  в ответе CheckFileInfo от хоста должно быть установлено значение true. В противном случае онлайн-офис не отправит это сообщение.
Это сообщение публикуется, когда пользователь активирует редактирование пользовательского интерфейса в онлайн-офисе. Этот пользовательский интерфейс виден только при использовании действия просмотра. Чтобы отправить это сообщение, для свойства EditModePostMessage в CheckFileInforesponse с хоста должно быть установлено значение true. В противном случае онлайн-офис не будет отправлять это сообщение и вместо этого перенаправит внутренний iframe на URL-адрес действия редактирования.
Это сообщение публикуется, когда пользователь активирует предыдущие версии  пользовательском интерфейсе в онлайн-офисе. Хост должен использовать это сообщение для запуска любого пользовательского пользовательского интерфейса истории версий файлов. Чтобы отправить это сообщение, для свойства FileVersionPostMessage в ответе CheckFileInfo от хоста должно быть установлено значение true. В противном случае онлайн-офис не отправит это сообщение.
Это сообщение публикуется, когда пользователь активирует интерфейс общего доступа в онлайн-офисе. Хост должен использовать это сообщение для запуска любого пользовательского пользовательского интерфейса общего доступа. Чтобы отправить это сообщение, для свойства FileSharingPostMessage в ответе CheckFileInfo от хоста должно быть установлено значение true. В противном случае онлайн-офис не отправит это сообщение.
Collabora specific
MessageIdОписание
Это сообщение публикуется для представления элемента пользовательского интерфейса (например, диалогового окна), позволяющего пользователю выбрать изображение из интеграции. Предполагается, что интеграция предоставляет временный URL-адрес, который можно загрузить один раз и вернуть его обратно через сообщение Action_InsertGraphic со значениями, установленными для временного URL-адреса.

Обратите внимание, что сообщения PostMessage имеют более высокий приоритет, чем свойства CloseUrl, HostEditUrl, l, FileSharingUrl,FileVersionUrl, указанные в CheckFileInfo