【发布时间】:2017-07-04 03:22:42
【问题描述】:
我正在制作一个具有两个功能区按钮的 Office 加载项。每个按钮都链接到不同的TaskpaneId,单击每个按钮会打开不同的任务窗格:
<bt:Urls>
<bt:Url id="Contoso.Taskpane1.Url" DefaultValue="https://localhost:3000/addin/page1" />
<bt:Url id="Contoso.Taskpane2.Url" DefaultValue="https://localhost:3000/addin/page2" />
</bt:Urls>
现在,我想实现这两个页面之间的一些通信。例如,在对page1 进行一些操作后,我希望自动刷新page2(从服务器或localStorage 重新加载数据)。结果,当我们点击page2时,它已经是最新的了。目前还没有系统更新,要刷新page2,我们必须点击它的功能区按钮。
https://localhost:3000/ 是用 mean-stack 构建的,所以页面使用 angularjs 并且后面有一个服务器。两个页面的一种通信方式是通过服务器:page1 通过socket.io 向服务器发送消息,然后服务器通过socket.io 向page2 发出消息。这有点乏味。
有谁知道 JavaScript API for Office 是否已经有任何简单(和跨平台)的方式来允许在 2 个任务窗格之间进行这种通信?
PS:使用StorageEvent 或localStorage 不是一个好主意,因为它似乎不适用于Mac 或Windows 的Excel。
【问题讨论】:
标签: javascript ms-office office-js office-addins office-app