2017-05-25 60 views
0

我正在嘗試使用Office插件的Dialog API發送消息從主機頁到對話框

根據文檔,我們可以使用Office.context.ui.messageParent從對話框發送消息到主機頁面(例如,任務窗格)。然而,我沒有看到我們如何從主機頁面向對話框發送消息。

有誰知道如何做到這一點?

+0

寫的localStorage相同的值似乎是https://stackoverflow.com/questions/42572554/how-to-pass-model-to-office-365的副本-dialog-from-word-2016/42585823?noredirect = 1#comment72306287_42585823請按照答案中的指示投票發送功能請求。 –

回答

0

有2個可能的解決方案:

  1. 發送數據作爲查詢參數,當你打開一個頁面調對話框。
  2. 如果在同一個域中,那麼localstorage應該在打開的對話框中可用。 setInterval(function() { var value = localStorage.getItem("dataFromDialog"); }, 500) 可以在對話框localStorageSetItem("dataFromDialog", "message to parent")
+0

你能解釋更多的「查詢參數」嗎?對於'localstorage',Dialog如何通知主頁有'localstorage'中的新東西? – SoftTimur

+0

當你通過displayDialog(url)打開一個對話框時,你可以用https:// localhost?key1 = value1&key2 = value2這樣的查詢參數構造url,這個值可以在頁面中讀取你在對話框中加載的內容。 匆匆到localstorage:我認爲那裏你可以定期檢查localStorage從父母是否有變化 – thadam

+0

我沒有說過它很方便。這只是一個解決方案,我正在使用的也是。如果還有其他的,那麼我會很開心,但是我沒有找到任何其他解決方案來解決這個問題。所以,如果你發現一些東西會很好,在這裏分享:) – thadam