2

我有一个 Office.js 任务窗格加载项,它不会对 Office API 执行任何操作,直到用户在任务窗格 UI 上执行特定操作。UI 是一个 angular.js SPA。所以,很自然,我不需要在 Office.initilize 上做任何事情。但是,我一直遇到以下错误,直到我给 Office.initilize 一个空函数。

SCRIPT5022: https://localhost:44300/Scripts/Office/1/office.js 0x800a139e中第 11 行第 10360 列未处理的异常 - JavaScript 运行时错误:Office.js 尚未完全加载。请稍后再试或确保在 Office.initialize 函数中添加您的初始化代码。office.js (11,10360)

摆脱这个的代码是:

  <script type="text/javascript">
      Office.initialize = function (reason) {
          // Nothing to do here..
      }
  </script>

这是预期的行为吗?顺便说一句,错误不是立即发生的,也不是对任何 API 调用或用户交互的响应。似乎它正在从 Office.js 文件中的 setTimeout 中删除。

4

1 回答 1

6

Office.initialize 事件在加载运行时环境并且加载项准备好开始与应用程序和托管文档进行交互时发生,并且必须在代码文件的开头将其初始化为函数,以便 Office.context 属性或从功能调用时,办公室的任何其他财产都将可用。

参考链接: https ://msdn.microsoft.com/en-us/library/office/fp161139.aspx https://msdn.microsoft.com/en-us/library/office/fp142255.aspx

因此,在您的场景中,您可能没有对此事件执行任何操作,但您的应用程序中的任何其他代码正在使用 office.js 中的任何属性。

希望这会帮助你。

于 2016-01-05T05:19:23.447 回答