2つのリボンボタンを持つOfficeアドインを作成しています。各ボタンには異なるTaskpaneIdにリンクされており、各ボタンをクリックすると、別のタスクペインを開きます:2つのタスクペインの通信
<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>
は今、私はこれらの2本のページの間にいくつかの通信を実現します。たとえば、page1
の操作をした後、page2
を自動的にリフレッシュ(サーバーからデータをリロードするにはlocalStorage
)します。その結果、page2
をクリックすると、既に最新の状態になっています。現時点では、体系的に更新されておらず、page2
を更新するには、リボンボタンをクリックする必要があります。
https://localhost:3000/
はmean-stackで構築されているため、ページにはangularjs
が使用され、サーバーがあります。 2つのページの通信の1つの方法は、サーバー経由でです。page1
は、socket.io
によってメッセージをサーバーに送信し、サーバーはsocket.io
からpage2
までメッセージを送信します。ちょっと退屈です。
Office用のJavaScript APIが、2つのタスクパネル間でこのような通信を許可するための簡単な(かつクロスプラットフォームの)方法を既に持っているかどうかは誰にも分かりますか?
PS: Mac用またはWindows用のExcelで動作するようには思えないので、localStorage
のStorageEvent
を使用することは、良いアイデアではありません。
はい、私は 'socket.io'を使って動作しますこれまでのところ、簡単なクロスプラットフォームのイベント処理/ Officeアドインのメッセージングは高く評価されます... – SoftTimur