Office 网络加载项:Office.initialize() 函数
Office web add-in : Office.initialize() function
我很难理解,但找不到与我想要实现的目标完全匹配的示例。它有一个 MS Outlook 功能区栏图标,单击它会显示一个对话框。我玩了一个演示,扔掉了多余的功能并开始运行 Hello World - 但它是 JQuery,我想使用 AngularJs,以重用现有应用程序的大部分内容。
首先,示例清单似乎都类似于
<DesktopFormFactor>
<FunctionFile resid="functionFile" />
这似乎适用于当用户单击功能区栏上的图标时调用的功能。如果我只是使用 <script src=>
标签来包含这样的函数文件,我假设我不需要它是否正确?
我的应用程序只有一个视图,因此在演示中所有 *.js
文件都有类似
的内容
// The Office initialize function must be run each time a new page is loaded
Office.initialize = function (reason) {
在我唯一的视图控制器中,假设我只需要这样的调用 1 是否正确?
抱歉,如果这看起来很基本,但所有演示和文档似乎都接近我想要的,但不完全是。节日快乐!
FunctionFile的使用
FunctionFile 为加载项通过执行 JavaScript 函数而不是显示 UI 的加载项命令(功能区按钮)公开的操作指定源代码文件。
加载项可以决定在任务窗格中显示一些 UI 或在后台执行 javascript 功能。对于 UI-less add-ins,您必须指定一个 FunctionFile。
在您的情况下,FunctionFile
可以忽略。
使用Office.initialize
Office 加载项包括 Office.js 库,并且该库希望您的启动代码在库完全加载之前不会调用任何 API。您的代码可以通过两种方式确保库已加载。
- 使用 Office.initialize:当 Office.js 库完全加载并准备好进行用户交互时,将触发初始化事件。您可以为其分配处理程序。
- 使用Office.onReady:Office.onReady() 是一种异步方法,returns Promise 对象同时检查Office.js 库是否已完全加载。
示例:
Office.initialize = function () {
// Office is ready
};
或
Office.onReady(function(info) {
if (info.host === Office.HostType.Outlook) {
// Based on host, decide what to display.
}
if (info.platform === Office.PlatformType.PC) {
// Make minor UI changes, if required.
}
});
在您的情况下,您可以使用 initialize/onReady 一次。
我很难理解,但找不到与我想要实现的目标完全匹配的示例。它有一个 MS Outlook 功能区栏图标,单击它会显示一个对话框。我玩了一个演示,扔掉了多余的功能并开始运行 Hello World - 但它是 JQuery,我想使用 AngularJs,以重用现有应用程序的大部分内容。
首先,示例清单似乎都类似于
<DesktopFormFactor>
<FunctionFile resid="functionFile" />
这似乎适用于当用户单击功能区栏上的图标时调用的功能。如果我只是使用 <script src=>
标签来包含这样的函数文件,我假设我不需要它是否正确?
我的应用程序只有一个视图,因此在演示中所有 *.js
文件都有类似
// The Office initialize function must be run each time a new page is loaded
Office.initialize = function (reason) {
在我唯一的视图控制器中,假设我只需要这样的调用 1 是否正确?
抱歉,如果这看起来很基本,但所有演示和文档似乎都接近我想要的,但不完全是。节日快乐!
FunctionFile的使用
FunctionFile 为加载项通过执行 JavaScript 函数而不是显示 UI 的加载项命令(功能区按钮)公开的操作指定源代码文件。 加载项可以决定在任务窗格中显示一些 UI 或在后台执行 javascript 功能。对于 UI-less add-ins,您必须指定一个 FunctionFile。
在您的情况下,FunctionFile
可以忽略。
使用Office.initialize
Office 加载项包括 Office.js 库,并且该库希望您的启动代码在库完全加载之前不会调用任何 API。您的代码可以通过两种方式确保库已加载。
- 使用 Office.initialize:当 Office.js 库完全加载并准备好进行用户交互时,将触发初始化事件。您可以为其分配处理程序。
- 使用Office.onReady:Office.onReady() 是一种异步方法,returns Promise 对象同时检查Office.js 库是否已完全加载。
示例:
Office.initialize = function () {
// Office is ready
};
或
Office.onReady(function(info) {
if (info.host === Office.HostType.Outlook) {
// Based on host, decide what to display.
}
if (info.platform === Office.PlatformType.PC) {
// Make minor UI changes, if required.
}
});
在您的情况下,您可以使用 initialize/onReady 一次。