我正在使用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。