Office js 由于Windows上的脚本速度较慢,导致加载项错误

Office js 由于Windows上的脚本速度较慢,导致加载项错误,office-js,Office Js,我们有一个相当重的React组件,有时会在Excel加载大约2000个项目。在Mac和Chrome上,该组件工作正常,没有错误。但在windows中,将显示外接程序错误并完全清除外接程序页面 深入研究这个问题,我们可以用IE11重新编程。IE将在加载慢速组件时发出脚本无响应错误。我分析了它,看到了很多DOM操作。我想知道为什么相同的代码在IE上运行得如此之慢。我们还试图通过优化我们的组件来解决这个问题。来自: 重要提示:为任何Office主机应用程序开发外接程序时, 请在本节中参考Office的

我们有一个相当重的React组件,有时会在Excel加载大约2000个项目。在Mac和Chrome上,该组件工作正常,没有错误。但在windows中,将显示外接程序错误并完全清除外接程序页面

深入研究这个问题,我们可以用IE11重新编程。IE将在加载慢速组件时发出脚本无响应错误。我分析了它,看到了很多DOM操作。我想知道为什么相同的代码在IE上运行得如此之慢。我们还试图通过优化我们的组件来解决这个问题。

来自:

重要提示:为任何Office主机应用程序开发外接程序时, 请在本节中参考Office的JavaScript API 这是本页的最后一页。这可确保API在启动之前完全初始化 任何身体元素。Office主机要求外接程序在中初始化 激活5秒。如果您的加载项在此范围内未激活 阈值,它将被声明为无响应,并将显示错误消息 将显示给用户

为了确保外接程序运行良好,Office会给您5秒钟的时间来完成外接程序的初始化。也就是说,平台和浏览器之间存在一些自然的时间差异。这就是为什么如果你遇到了5秒(听起来像是这样),你可能看不到这个错误的全貌

一般来说,最重要的考虑是在页面上连接不同的组件时。您需要确保在加载和初始化Office.js之前加载和初始化所有其他文件。这使您可以轻松地进入5秒钟的窗口,即使您的加载项花费额外的10秒钟来旋转内容(尽管为了您的用户着想,请不要花费10秒钟!)

以下是一些有用的提示:

  • 确保Office.js在您的文档中引用,而不是在文档末尾引用。一般来说,web应用程序希望JS最后被引用,因此首先填充DOM。然而,这种情况是该规则的一个例外。参考是早期的,几乎在加载任何其他内容之前

  • 将Office.initialize()或包含它的js库也放在标记中。这将确保它在加载任何其他内容之前连接外接程序

  • 考虑将样式从加载推迟到以后。谷歌有一个很好的例子


  • 嗨,马克,事实上我们在插件加载时并没有达到这一点。装货没问题。它更多的是在我们的用户界面中点击一个按钮,并带来一个复杂的组件,使IE崩溃。