Javascript Office365加载项-如何在加载项窗口之间通信

Javascript Office365加载项-如何在加载项窗口之间通信,javascript,ms-office,powerpoint,office365,apps-for-office,Javascript,Ms Office,Powerpoint,Office365,Apps For Office,我正在为PowerPoint开发Office365 Javascript内容加载项,在发送消息方面遇到了问题 与Word或Excel不同,它可能在一个文档中使用多个加载项。例如,幻灯片3上有一个,幻灯片5上有一个 我有两个场景工作得不好 使用Office365 webclient(在本机中工作正常)-如果发生更改 在幻灯片模式下,返回到该模式时不会自动反映这一点 在设计器模式下滑动 Webclient和本机-如果用户在一张幻灯片上注销,我无法让其他幻灯片上的加载项也自动注销 到目前为止,我所

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

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

我有两个场景工作得不好

  • 使用Office365 webclient(在本机中工作正常)-如果发生更改 在幻灯片模式下,返回到该模式时不会自动反映这一点 在设计器模式下滑动
  • Webclient和本机-如果用户在一张幻灯片上注销,我无法让其他幻灯片上的加载项也自动注销
到目前为止,我所尝试的:

  • 翻阅了文件,然后

  • 调查了一些标准html技术的预期效果

  • 尝试了postMessage和使用a(在IE中直接起作用,但在PowerPoint中不起作用)

我可以弹劾心跳或WebSocket,但我宁愿避免不必要地攻击服务器,并且希望事情尽可能简单。或者,我可以在localstorage中放置一些内容,并使用setInterval进行检查,但这会增加不必要的后台工作并降低应用程序的速度

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

您可以尝试使用属性而不是localstorage。有一个设置更改事件可能会帮助您完成所需的操作。我以前从未使用过它,所以请告诉我们它是否有用

settingsChanged事件仅在此发布日期对Excel可用。

您可以尝试使用该属性而不是localStorage。有一个设置更改事件可能会帮助您完成所需的操作。我以前从未使用过它,所以请告诉我们它是否有用


设置更改事件在此发布日期仅适用于Excel。

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

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

将尝试一下。谢谢。现在没有欢乐。这种方法很好,但目前只在Excel中支持。这是不幸的。你可以通过对话表达你的想法。在此位置添加此功能的请求。将尝试。谢谢。现在没有欢乐。这种方法很好,但目前只在Excel中支持。这是不幸的。你可以通过对话表达你的想法。在此位置添加此功能的请求。我必须使用setTimeout/localStorage选项在这种情况下,setTimeout’优于setInterval as setInterval()。这不是一个理想的解决方案,但它是有效的。现在还不打算结束这个问题,因为在api的更高版本中,可能会添加一个事件来实现这一点(例如,根据下面的@michael mainers响应)。我必须使用setTimeout/localStorage选项在这种情况下,setTimeout’优于setInterval as setInterval()。这不是一个理想的解决方案,但它是有效的。现在还不打算结束这个问题,因为在api的更高版本中,可能会添加一个事件使之成为可能(例如,根据下面的@michael mainers回复)。