我正在开发适用于 PowerPoint 的 Office365 Javascript 内容插件,但在消息传递方面遇到问题。
与 Word 或 Excel 不同,一个文档中可能会使用多个加载项。例如。一张在幻灯片 3 上,一张在幻灯片 5 上。
我有 2 个场景效果不佳。
- 使用 Office365 Web 客户端(在 native 中工作正常)- 如果某些内容发生更改 在幻灯片模式下,返回该模式时不会自动反射(reflect)出来 在设计器模式下滑动。
- Web 客户端和 native - 如果用户在一张幻灯片上注销,我无法让其他幻灯片上的加载项也自动注销。
到目前为止我尝试过的:
查看了Office.js文件和 documentation .
调查了underlying tech所以希望一些标准的 html 技术能够发挥作用。
尝试了 postMessage 和使用 storage event (可以直接在 IE 中运行,但在 PowerPoint 中则不行)。
我可以实现心跳或网络套接字,但宁愿避免不必要地访问服务器,并且希望让事情尽可能简单。或者,我可以将一些内容放入本地存储中并使用 setInterval 来检查它,但这会增加不必要的后台工作并减慢应用程序的速度。
是否有任何“好的”方法可以解决上述问题,或者 setInterval/localstorage 检查是目前唯一简单的解决方案?
最佳答案
您可以尝试使用document.settings属性而不是 localStorage。有一个 settingsChanged 事件可以帮助您完成您想要的操作。我以前从未使用过它,所以请告诉我们它是否有帮助(或没有帮助)。
自本发布日期起,settingsChanged 事件仅适用于 Excel。
关于javascript - Office 365 加载项 - 如何在加载项 Windows 之间进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37728494/