Я работаю над надстройкой содержимого Javascript Office365 для PowerPoint, и у меня возникают проблемы с обменом сообщениями.
В отличие от Word или Excel, в одном документе, скорее всего, будет использоваться несколько надстроек. Например. Один на слайде 3, один на слайде 5.
У меня есть 2 сценария, которые не работают хорошо.
- Использование веб-клиента Office365 (отлично работает в нативном режиме) — если что-то изменилось в режиме слайд-шоу, это не отражается автоматически при возврате к этому слайду в режиме конструктора.
- Веб-клиент и собственный — если пользователь выходит из системы на одном слайде, я не могу заставить надстройки на других слайдах также автоматически выходить из системы.
Что я уже пробовал:
Просмотрел файл Office.js и документация.
Исследовал основную технологию, как и ожидалось некоторые стандартные методы html для работы.
Пробовал как postMessage, так и с помощью события хранилища (которое работало в IE напрямую, но не в PowerPoint).
Я мог бы препятствовать сердцебиению или веб-сокетам, но предпочел бы избегать ненужного обращения к серверу и хотел бы, чтобы все было как можно проще. В качестве альтернативы я мог бы поместить что-то в локальное хранилище и использовать setInterval для проверки, но это добавит ненужную фоновую работу и замедлит работу приложения.
Существуют ли какие-либо «хорошие» способы решения вышеупомянутых проблем, или проверка setInterval/localstorage является единственным простым решением на данный момент?