Office js 在web和桌面上加载Excel加载项

Office js 在web和桌面上加载Excel加载项,office-js,Office Js,我们正在创建一个基于go/react的Web应用程序,我们将使用excel任务窗格指向该应用程序addin。此webapp需要重定向到另一个页面才能登录到该应用程序,然后该应用程序将重定向回原始页面 当我们创建清单文件并将其(通过共享文件夹)添加到桌面版excel时,应用程序会重定向到登录页面,我可以输入我的凭据,然后它会重定向回并完全加载。这就是我们想要的体验 但是,当我们使用基于web的Excel版本,并选择使用同一清单文件“上载我的加载项”时,它会重定向到登录页面,但屏幕被禁用,最终失败。

我们正在创建一个基于go/react的Web应用程序,我们将使用excel任务窗格指向该应用程序addin。此webapp需要重定向到另一个页面才能登录到该应用程序,然后该应用程序将重定向回原始页面

当我们创建清单文件并将其(通过共享文件夹)添加到桌面版excel时,应用程序会重定向到登录页面,我可以输入我的凭据,然后它会重定向回并完全加载。这就是我们想要的体验

但是,当我们使用基于web的Excel版本,并选择使用同一清单文件“上载我的加载项”时,它会重定向到登录页面,但屏幕被禁用,最终失败。Excel给我们一个“重试”消息。如果我再试一次,第二次就失败了。这次Excel给了我们“无论如何都要开始”的选项。如果我这样做了,那么我可以登录,它会重定向回来,但是在我选择启动原始页面之前,我经历了两次失败的过程,在这一点上它会加载

有人知道桌面和web在读取清单的方式上的区别吗?是否有任何地方可以查找有关其失败原因的更多信息?

根据本页

您必须“如果未调用Office.onReady或分配Office.initialize事件处理程序,则外接程序启动时可能会引发错误。此外,如果用户尝试将外接程序与Office web客户端(如Excel、PowerPoint或Outlook)一起使用,则外接程序将无法运行

如果外接程序包含多个页面,则每当加载新页面时,该页面必须调用Office.onReady或分配Office.initialize事件处理程序。“


由于我们的登录应用程序由许多其他应用程序共享,因此我们无法修改它以包含office.js并分配office.initialize事件,但可以将“自定义内容”添加到我们的登录页面,该页面在iframe中运行,我们可以在其中执行此操作。

请澄清发生了什么。外接程序是否设计为在加载任务窗格时自动重定向到登录页面?是的,外接程序重定向到登录页面,然后返回到清单中列出的原始页面。任务窗格是web上Excel中的iFrame。大多数登录服务不允许其登录页面在iFrame中运行。您必须使用Office对话框。看见