Outlook 加载项主体 setasync UI 更新但结果为空
Outlook add-in body setasync UI updates but result is blank
我做了一个测试 office.js Outlook 加载项,它使用 HTML 的 setasync 和强制类型将格式化的 HTML 注入 Office.context.mailitem.body。一切正常,但在 1 月中旬突然出现了编辑日历邀请的问题。 UI 得到更新,但当发送邀请时,文本被删除。从日历中打开日历邀请时,文本为空白。一些观察:
- 编辑电子邮件正文仍然有效。该问题仅出现在日历邀请中。
- 如果您在加载项插入 HTML 后手动添加文本,邀请有效。如果您先添加文本,然后加载项添加其 HTML 但您什么都不做,则邀请文本只是原始文本 - 没有 HTML。它的作用类似于 setasync 更新 UI 但某种内部脏标志未设置且文本被清空。
- 这仅发生在 Outlook 2013 中。相同的电子邮件帐户在 Outlook 2016 中有效。
- 这发生在我们的工作电子邮件上,我认为它有一个 Office Online 后端,但在我的 azure 测试租户上没有。
- 将强制类型设置为文本的仅文本邀请不会出现此问题。
不管插入的HTML多么简单。仅插入以下简单的 HTML 会导致问题:
<b>this is bold text</b>
知道会发生什么吗?
提前致谢。
所以这确实是一个需要修复的错误。与此同时,我正在尝试解决这个问题,作为一种解决方法,我发现如果在执行 SetBody 后弄脏主体,则消息将正确发送。
您可以通过键入 space 手动执行此操作,也可以在实际调用中执行此操作,例如:
Office.context.mailbox.item.body.setAsync
(
"<B>tim test</b>",
{
"coercionType" : "html"
},
function (asyncResult)
{
Office.context.mailbox.item.body.prependAsync(".");
}
);
(你可能想插入一些不那么干扰的东西,比如 space)
我做了一个测试 office.js Outlook 加载项,它使用 HTML 的 setasync 和强制类型将格式化的 HTML 注入 Office.context.mailitem.body。一切正常,但在 1 月中旬突然出现了编辑日历邀请的问题。 UI 得到更新,但当发送邀请时,文本被删除。从日历中打开日历邀请时,文本为空白。一些观察:
- 编辑电子邮件正文仍然有效。该问题仅出现在日历邀请中。
- 如果您在加载项插入 HTML 后手动添加文本,邀请有效。如果您先添加文本,然后加载项添加其 HTML 但您什么都不做,则邀请文本只是原始文本 - 没有 HTML。它的作用类似于 setasync 更新 UI 但某种内部脏标志未设置且文本被清空。
- 这仅发生在 Outlook 2013 中。相同的电子邮件帐户在 Outlook 2016 中有效。
- 这发生在我们的工作电子邮件上,我认为它有一个 Office Online 后端,但在我的 azure 测试租户上没有。
- 将强制类型设置为文本的仅文本邀请不会出现此问题。
不管插入的HTML多么简单。仅插入以下简单的 HTML 会导致问题:
<b>this is bold text</b>
知道会发生什么吗?
提前致谢。
所以这确实是一个需要修复的错误。与此同时,我正在尝试解决这个问题,作为一种解决方法,我发现如果在执行 SetBody 后弄脏主体,则消息将正确发送。
您可以通过键入 space 手动执行此操作,也可以在实际调用中执行此操作,例如:
Office.context.mailbox.item.body.setAsync
(
"<B>tim test</b>",
{
"coercionType" : "html"
},
function (asyncResult)
{
Office.context.mailbox.item.body.prependAsync(".");
}
);
(你可能想插入一些不那么干扰的东西,比如 space)