首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Office外接程序: Office.initialize()函数

Office外接程序: Office.initialize()函数
EN

Stack Overflow用户
提问于 2018-12-26 11:47:31
回答 1查看 1.1K关注 0票数 1

我很难理解,也找不到一个与我想要达到的目标完全相符的例子。它有一个MS带状条图标,单击该图标将显示一个对话框。我玩了一个演示,扔掉了多余的功能,得到了一个Hello,但它是JQuery,我想使用AngularJ,重用一个现有的应用程序。

首先,示例清单似乎都有以下内容:

代码语言:javascript
复制
    <DesktopFormFactor>
      <FunctionFile resid="functionFile" />

这似乎适用于当用户单击带状条上的图标时调用的函数。如果我只是使用一个<script src=>标记来包含这样的函数文件,那么假设我不需要这样做是正确的吗?

我的应用程序只有一个视图,所以在演示中所有的*.js文件都有类似的内容

代码语言:javascript
复制
// The Office initialize function must be run each time a new page is loaded
Office.initialize = function (reason) {

我是否正确地认为,在我唯一的看法中,我只需要有这样的呼叫?

对不起,如果这看起来很基本,但是所有的演示和文档似乎都接近我想要的,但并不完全是这样。假日快乐!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-26 12:53:26

使用FunctionFile

FunctionFile指定外接程序通过执行JavaScript函数而不是显示UI的外接程序命令(丝带按钮)公开的操作的源代码文件。外接程序可以决定在任务窗格中显示某些UI,或者在后台执行javascript函数。对于无UI外接程序,您必须指定一个FunctionFile。

在您的例子中,可以忽略FunctionFile

使用Office.initialize

Office外接程序包括Office.js库,库希望在库完全加载之前,启动代码不会调用任何API。有两种方法可以确保加载库。

  1. 使用Office.initialize:当Office.js库完全加载并为用户交互做好准备时,初始化事件触发。您可以为它指定一个处理程序。
  2. Use Office.onReady:Office.onReady()是一个异步方法,它在检查Office.js库是否已完全加载时返回一个承诺对象。

示例:

代码语言:javascript
复制
Office.initialize = function () {
    // Office is ready
};

代码语言:javascript
复制
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.
    }
});

在您的情况下,您可以使用初始化/onReady一次。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53931674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档