Office.context.mailbox.diagnostics.hostName returns Mac 上的 Outlook 值不正确

Office.context.mailbox.diagnostics.hostName returns incorrect value for Outlook on a Mac

当使用 OfficeJS 确定正在使用的 office 客户端时,我正在调用 Office.context.mailbox.diagnostics.hostName,但是当我希望得到 Mac Outlook

根据 https://github.com/OfficeDev/office-js-docs/blob/master/reference/outlook/Office.context.mailbox.diagnostics.mdhostname 的可能值可以是 OutlookMac OutlookOutlookIOSOutlookWebApp

我正在使用 https://appsforoffice.microsoft.com/lib/1/hosted/office.js

的最新 OfficeJs

我们正在努力解决这个问题。同时,作为解决方法,您可以在加载项中使用用户代理来识别浏览器。一旦这个问题得到解决,我们会尽快通知您。

documentation 已更改,删除了对 Mac Outlook 的任何提及。它现在建议在 Mac 客户端上输出将是 Outlook

目前,您可以使用浏览器 UserAngent 检测 Mac 的 Outlook App 上的加载项 运行。

Office.initialize = function () {
    //if Add-in is opening in Outlook App for MAC.
    var OutlookHost = Office.context.mailbox.diagnostics.hostName;
    var platform = navigator.platform;
    if (OutlookHost !== null && OutlookHost !== undefined && OutlookHost === "Outlook" && platform != null && platform.toLowerCase().indexOf("mac") >= 0) {
        return true;
    }
 }

navigator.platform 将 return:

"MacIntel"