javascript - Office 365 加载项 - 如何在加载项 Windows 之间进行通信

标签 javascript ms-office powerpoint office365 apps-for-office

我正在开发适用于 PowerPoint 的 Office365 Javascript 内容插件,但在消息传递方面遇到问题。

与 Word 或 Excel 不同,一个文档中可能会使用多个加载项。例如。一张在幻灯片 3 上,一张在幻灯片 5 上。

我有 2 个场景效果不佳。

  • 使用 Office365 Web 客户端(在 native 中工作正常)- 如果某些内容发生更改 在幻灯片模式下,返回该模式时不会自动反射(reflect)出来 在设计器模式下滑动。
  • Web 客户端和 native - 如果用户在一张幻灯片上注销,我无法让其他幻灯片上的加载项也自动注销。

到目前为止我尝试过的:

我可以实现心跳或网络套接字,但宁愿避免不必要地访问服务器,并且希望让事情尽可能简单。或者,我可以将一些内容放入本地存储中并使用 setInterval 来检查它,但这会增加不必要的后台工作并减慢应用程序的速度。

是否有任何“好的”方法可以解决上述问题,或者 setInterval/localstorage 检查是目前唯一简单的解决方案?

最佳答案

您可以尝试使用document.settings属性而不是 localStorage。有一个 settingsChanged 事件可以帮助您完成您想要的操作。我以前从未使用过它,所以请告诉我们它是否有帮助(或没有帮助)。

自本发布日期起,settingsChanged 事件仅适用于 Excel。

关于javascript - Office 365 加载项 - 如何在加载项 Windows 之间进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37728494/

相关文章:

将幻灯片解析为每张幻灯片一张图片

javascript - .change() 选择已更改后进行页面刷新,如 CTRL + R

javascript - 使用 Angular JS $route 创建简单的 SPA 时遇到问题?

javascript - 单击 <a> 元素时应用新的 CSS 规则

java - Android PowerPoint 远程

java - 如何以编程方式从 Office 文件中提取和操作图像?

javascript - 如何在不点击 Angular 情况下标记多个元素?

c# - VSTO/字 : How to freeze a document window?

.net - 在多个应用程序中生成文档

Android - 我的应用程序中的 Microsoft Office 查看器