2016-02-12 83 views
1

我打算編寫一個Outlook加載項,我想知道是否有方法來監聽事件,比如「發送按鈕」。實際上,我想在用戶按下發送按鈕時操作主體,甚至在發送電子郵件之前。做Outlook加載項API支持事件偵聽器嗎?

從我所看到的,唯一的方法就是創建一個按鈕,比如「操縱」,並在點擊時附加一個事件。這是可行的,但如果您每次發送電子郵件時都必須這樣做,這非常煩人。

此外,Outlook如何運行加載項?在撰寫模式,如果我有一個:

Office.context.mailbox.item.body.getAsync 

這是跑,每當我在正文中鍵入一個新的字母或當我發送郵件?我有點困惑。

This可能會略有重複。再次感謝。

回答

2

您不能在您的iFrame的父窗口(您的加載項所在的地方)的DOM元素上附加偵聽器。所以你不能破解Outlook Web Access按鈕的行爲。

重要的是要指出,新的Office Web插件生成比舊的桌面插件侵入性更小。事實上,以VSTO爲例,我們可以獲得整個Outlook對象模型,無論好壞。這是我在這個主題上寫的a blog post

您所描述的解決方案似乎是做你想做的事的合適方法。另外,讓我強調一下,web插件框架的好處是不允許您在未經用戶同意的情況下更改電子郵件的內容。

請記住,Office.js爲您提供了與EWS API進行通信的可能性,當從Office.js API直接獲取某些內容時,這些API非常有用。 See this link

+0

所以沒有混淆:只有在需要對Exchange執行基於服務器的調用時才需要EWS令牌;調用mailbox.makeEwsRequestAsync不需要這些標記,但是您有一小部分支持的操作。但Benoit可能已經知道所有這些了;-) –

+0

@EricLegault,你是對的,我不應該只提到你可以與EWS對話的事實(我已經編輯了答案)。還要注意,makeEwsRequestAsync需要一個ReadWriteMailbox權限,這意味着只有管理員才能安裝你的插件。 –

+1

所有用戶都可以安裝任何權限級別的Web加載項,而無需提升權限。他們畢竟是他們自己郵箱的「管理員」。 –