2017-02-14 22 views
2

我做了一個測試office.js Outlook插件,它使用setasync和強制類型的HTML將格式化的HTML注入到Office.context.mailitem.body中。一切正常,但突然在一月中旬出現了編輯日曆邀請的問題。用戶界面得到更新,但發送邀請時文本被刪除。從日曆中打開日曆邀請時,文本爲空。一些觀察:Outlook插件正文setasync UI更新但結果爲空

  1. 編輯電子郵件正文仍然有效。該問題只發生在日曆邀請中。
  2. 如果在加載項插入HTML後手動添加文本,則邀請工作。如果您先添加文本,然後加載項添加了HTML,但除此之外別無其他,則邀請文本就是原始文本 - 不包含HTML。它的行爲像setasync更新用戶界面,但某些內部髒標誌沒有被設置,文本被截斷。
  3. 這隻發生在Outlook 2013中。Outlook 2016上的同一個電子郵件帳戶可以工作。
  4. 這發生在我們的工作電子郵件上,我認爲這個電子郵件有一個Office Online後端,但不在我的天藍色測試租戶上。
  5. 該問題不會發生,只有文本只有強制類型設置爲文本邀請。
  6. 插入的HTML是多麼簡單並不重要。剛剛插入以下簡單的HTML導致問題:

    <b>this is bold text</b> 
    

任何想法可能是這樣嗎?

在此先感謝。

+0

喜Carbo,我們正在研究這 – AndrewS

+0

這是從這個KB的迴歸: https://support.microsoft.com/en-us/help/3141466/january-3,-2017,-update-for-outlook- 2013-kb3141466 如果您將其卸載,則問題將會停止重新編制。我們正在調查未來知識庫的修復。 –

+0

所以這確實是一個需要修復的bug。與此同時,我正在玩這個,作爲一種解決方法,我發現如果你在做一個SetBody之後弄髒了身體,那麼這個消息會正確發送。 您可以手動做到這一點僅通過鍵入一個空格,或在實際調用,例如: Office.context.mailbox.item.body.setAsync ( \t「添測試」, \t { \t \t 「coercionType」: 「HTML」 \t}, \t函數(asyncResult) \t { \t \t Office.context.mailbox.item.body.prependAsync(」。「); \t} ); (您可能希望插入一些不太乾擾的東西,比如空格) –

回答

1

所以這確實是一個需要修復的bug。與此同時,我正在玩這個,作爲一種解決方法,我發現如果你在做一個SetBody之後弄髒了身體,那麼這個消息會正確發送。

您可以手動做到這一點通過只輸入一個空格,或在實際調用,例如:

Office.context.mailbox.item.body.setAsync 
(
    "<B>tim test</b>", 
    { 
     "coercionType" : "html" 
    }, 
    function (asyncResult) 
    { 
     Office.context.mailbox.item.body.prependAsync("."); 
    } 
); 

(您可能需要插入一些較少干擾,像有一個空格)