我正在使用PowerPoint的Office365 Javascript内容加载项,并且在消息传递方面遇到麻烦。

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

我有2种情况不能很好地工作。


使用Office365 Web客户端(在本机中可以正常运行)-如果有所更改
在幻灯片放映模式下,返回到幻灯片放映时不会自动反映出来
在设计器模式下滑动。
Webclient和本机-如果用户在一张幻灯片上注销,则我无法在其他幻灯片上获得加载项以自动注销。


到目前为止,我已经尝试过:


浏览Office.js文件和documentation
研究了underlying tech,因此希望可以使用一些标准的html技术。
尝试了postMessage和使用storage event(直接在IE中有效,但在PowerPoint中不起作用)。


我可以强制使用心跳或websocket,但宁愿避免不必要地访问服务器,并希望使事情尽可能简单。另外,我可以将某些内容放入localstorage并使用setInterval进行检查,但这会增加不必要的后台工作并降低应用程序的速度。

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

最佳答案

您可以尝试使用document.settings属性而不是localStorage。有一个settingsChanged事件可以帮助您完成所需的操作。我以前从未使用过它,所以让我们知道它是否有帮助。

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

07-25 20:30