Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos Office.context.ui.messageParent在Outlook 2016 for Mac中是否已损坏?_Macos_Office Js_Office Addins_Outlook 2016_Office Store - Fatal编程技术网

Macos Office.context.ui.messageParent在Outlook 2016 for Mac中是否已损坏?

Macos Office.context.ui.messageParent在Outlook 2016 for Mac中是否已损坏?,macos,office-js,office-addins,outlook-2016,office-store,Macos,Office Js,Office Addins,Outlook 2016,Office Store,我正在使用新的Office JS API开发Outlook加载项,在构建身份验证流程时,我发现在Outlook 2016 for Mac案例中,对话系统似乎无法正常工作 明确地说,我们正在使用OfficeInsider快速通道构建,因为它对OfficeJSAPI的支持有了很大的改进 我已经完成了这篇文章的几次迭代(其中大部分在Mac和Win上的Windows客户端和web客户端都运行良好),但都没有成功。情况是: 列表项 在outlook中打开任务窗格 点击登录按钮 将打开一个新窗口,指向我们的

我正在使用新的Office JS API开发Outlook加载项,在构建身份验证流程时,我发现在Outlook 2016 for Mac案例中,对话系统似乎无法正常工作

明确地说,我们正在使用OfficeInsider快速通道构建,因为它对OfficeJSAPI的支持有了很大的改进

我已经完成了这篇文章的几次迭代(其中大部分在Mac和Win上的Windows客户端和web客户端都运行良好),但都没有成功。情况是:

  • 列表项
  • 在outlook中打开任务窗格
  • 点击登录按钮
  • 将打开一个新窗口,指向我们的身份验证门户
  • 用户登录
  • 身份验证完成后,窗口重定向到office加载项范围中的页面,并使用身份验证令牌回调父帧,在父帧中可以对其进行进一步处理
  • 步骤1到5在所有平台上都可以正常工作。步骤6拒绝使用Outlook for Mac。最初,此流是使用本机js window.open和window.postMessage API构建的。如上所述,这在Outlook Mac之外的任何地方都有效,在Outlook Mac中,API似乎忽略了窗口选项,只在任何打开的浏览器中的新选项卡中打开url,并且从不设置子窗口引用(window.open的结果为空)

    如果做不到这一点,我按照这里的建议使用Office功能displayDialogAsync和messageParent。在经历了一些最初的障碍之后,除了Outlook Mac之外,其他平台都设置并运行了这一功能

    由于Mac Outlook中没有开发工具或JS控制台支持,因此我按照这里的建议设置了Vorlon以尝试获取一些上下文,并添加了大量日志记录点以尝试获取一些上下文。不幸的是,虽然Vorlon将我的auth登录页作为客户端,并查看Office界面,但没有显示我的控制台输出,这使得JS看起来好像根本没有运行

    在这一点上,我不确定下一步要尝试什么。有没有人遇到过这个问题,或者在Outlook 2016 for Mac客户端上使用过这个问题

    澄清背景:

    • 所有身份验证页面都列在清单的AppDomains部分
    • 虽然初始版本直接指向我们的身份验证服务(这在Mac上不起作用),但当前版本首先打开一个范围内的预身份验证页面,重定向到身份验证服务
    • Office JS api阻止警报,阻止它们用于显示有用信息
    • 通过此应用程序的所有版本进行的身份验证在Windows上的Outlook 2016和Win和Mac上的OWA上都有效

    谢谢。

    Outlook Mac中的此问题几个月前已修复。如果任何人在最近的Outlook Mac版本中仍遇到此问题,请使用版本号回复。

    Office.context.ui在Outlook for Mac 2016的v16.17(180909)版本中未使用以下OfficeJS dist进行定义:

    听起来你做的每件事都是对的。(如果尚未阅读,您可能希望阅读以下内容:)。此外,我们还有一篇关于在Mac上使用Vorlon的最新文章:一些问题:(1)你是说第6步不起作用,这意味着你没有重定向到本地页面,还是说本地页面打开了,但MessageParent似乎不起作用?(2) DialogMessageReceived的处理程序是否执行了任何可以给您一个运行的可视指示的操作,例如关闭对话框?(3) 如果找不到查看console.logs的方法,可以尝试在相关页面中放置一个div,并在div的text属性中添加“log”。对不起,我应该更清楚一些。是的,重定向是有效的,但是Javascript似乎没有一个能做到。。。任何东西我没有想到用日志信息写给Div,这至少可以提供某种上下文。收到的消息根本不会触发。谢谢你的链接,这些是我早期用来尝试找出可能错误的链接。切题地说,我尝试为窗口关闭时设置事件处理程序,但在任何平台上似乎都不会启动。似乎JavaScript运行时本身不在Outlook的本地页面上工作,但您应该尝试按照建议使用div来确认这一点。我将提醒产品团队注意此步骤。我已更新视图,以使用控制台条目更新视图中的div。我一个也没看见。这包括一个办公室前初始化位,当从外接程序访问时,它在外部工作。@Bᴜᴅɪ我不太确定这是否应该删除;“Outlook Mac中的这个问题几个月前已经解决了”看起来像是对这个问题的回答。@NobodyNada嗯。。。这是一个边界线评论,我觉得不需要是一个答案,而应该是一个评论。。。我将删除我的评论。我们的做法与@Ava的做法完全相同(我们没有使用window.open和window.postMessage,而是使用displaydiologasync和messageParent),并且看到了一个确切的问题,即“API似乎忽略了窗口选项,只是在任何打开的浏览器的新选项卡中打开url。”messageParent无法将令牌从浏览器选项卡发回Outlook,我们正在使用build 16.13.1(180523)。Mac上的DialogAPI又坏了吗?