Office365加载项-如何在Windows加载项之间进行通信



我正在为PowerPoint开发Office365 Javascript内容加载项,在消息传递方面遇到问题。

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

我有两个场景不能很好地工作。

  • 使用Office365 Web客户端(在本机中运行良好)-如果发生更改在幻灯片放映模式下,返回到该模式时不会自动反映在设计器模式下滑动
  • Web客户端和本机-如果用户在一张幻灯片上注销,我无法让其他幻灯片上的加载项也自动注销

到目前为止我尝试过的:

  • 浏览Office.js文件和文档。

  • 研究了底层技术,因此期望一些标准的html技术能够发挥作用。

  • 尝试了postMessage和使用存储事件(直接在IE中工作,但在PowerPoint中不工作)。

我可以启动心跳或websocket,但我宁愿避免不必要地访问服务器,并希望事情尽可能简单。或者,我可以把一些东西放在本地存储中,并使用setInterval进行检查,但这会增加不必要的后台工作并降低应用程序的速度。

有没有解决上述问题的"好"方法,或者setInterval/localstorage检查是目前唯一简单的解决方案?

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

截至发布日期,settingsChanged事件仅适用于Excel。

浏览文档,这类事情似乎可以使用refreshAsync实现。

最新更新