我正在製作一個具有兩個功能區按鈕的Office外接程序。每個按鈕鏈接到不同的TaskpaneId,並點擊每個按鈕打開不同的taskpane:兩個任務窗格的通信
<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/
是用平均堆棧構建的,所以頁面使用angularjs
並且後面有一個服務器。兩頁通信的一種方式是通過服務器:page1
通過socket.io
向服務器發送消息,然後服務器通過socket.io
發送消息至page2
。這有點乏味。
有沒有人知道用於Office的JavaScript API是否有任何簡單(和跨平臺)的方式來允許2個任務面板之間的這種通信?
PS:使用的localStorage
StorageEvent
是不是一個好主意,因爲它似乎並沒有在Excel工作適用於Mac或Windows操作系統。
是的,我使用'socket.io',它的工作原理到目前爲止...因此,我們將欣賞圍繞Office加載項的簡單的跨平臺事件處理/消息傳送... – SoftTimur