【问题标题】:Mac outlook client - Office365 add-in - Pinning - Office.initialize is not calling backMac Outlook 客户端 - Office365 加载项 - 固定 - Office.initialize 未回调
【发布时间】:2018-07-31 18:36:05
【问题描述】:

我正在开发具有固定支持的简单 Outlook 插件。该插件在 Windows Outlook、Chrome 和 IE 中运行良好。但是当我们在 mac Outlook 客户端中尝试时,行为就完全不同了。

  1. 创建一个支持固定的加载项。

  2. 打开插件并固定它。

  3. 更改电子邮件

  4. 从收件箱切换到已发送邮件,然后立即点击另一封电子邮件。

现在如果我们仔细观察 Office.initialize 回调将不会回调。

请使用以下代码进行调试。

var isInitialized = false;
Office.initialize = function(reason) {
    console.log('Office initialize callback is getting fired from outlook');
    document.getElementById('status').innerHTML = 'Office is loaded 1';
    isInitialized = true;
};
var attempt = 0; 
var checkOfficeIsInitialized = function() {
    console.log('checking office', attempt);
    setTimeout(function() {
        console.log('is window intialized', isInitialized);
        if (!isInitialized && attempt < 45) {
            attempt++;
            checkOfficeIsInitialized();
        } else {
            if (!isInitialized) {
                document.getElementById('status').innerHTML = 'Failed to initialize outlook';
            } else {
                document.getElementById('status').innerHTML = 'Office is loaded 2';
            }
        }
    }, 1000);
}
checkOfficeIsInitialized();

这里是html

<!doctype html>
<html>
    <head>
        <title>Tetsing</title>
    </head>
    <body>
        <h3 id="status">Loading....</h3>
        <script src="https://appsforoffice.microsoft.com/lib/1.1/hosted/office.js" type="text/javascript"></script>
        <script src="js/public-login-v2.js" type="text/javascript"></script>
    </body>
</html>

【问题讨论】:

    标签: outlook office365 office-js office-addins outlook-for-mac


    【解决方案1】:

    Office.initialize 回调仅在加载项打开时运行一次。固定加载项后,不应在每次消息之间切换时调用回调。但是,您可以通过 addHandlerAsync 注册 ItemChanged 事件以在消息更改时获取更新。更多详情请查看here

    【讨论】:

    • 当您从收件箱移动到已发送邮件文件夹时,如果加载项被固定,它将再次加载。如果您快速选择另一封电子邮件,加载项将不会收到初始化回调。该问题仅在 mac Outlook 客户端中发生。
    【解决方案2】:

    这是我们最近修复的一个错误。在文件夹之间切换不应再导致加载项重新初始化。如果你选择了 Insider Fast 版本,你应该已经有了这个修复。如果没有,该修复程序将在一段时间内推出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-07
      • 2019-05-24
      相关资源
      最近更新 更多