首页 > 其他分享 >加载DOM环境

加载DOM环境

时间:2023-01-13 14:34:48浏览次数:49  
标签:Outlook 外接 Office DOM 环境 HTML 加载

在运行自己的自定义逻辑之前,外接程序必须确保加载 DOM 和 Office 外接程序 ​​运行时​​ 环境。

启动内容或任务窗格加载项

下图显示了在 Excel、PowerPoint、Project 或 Word 中启动内容或任务窗格加载项所涉及的事件流。

加载DOM环境_加载

当内容或任务窗格加载项启动时,会发生以下事件。

  1. 用户打开已包含加载项的文档,或在文档中插入加载项。
  2. Office 客户端应用程序从 AppSource、SharePoint 上的应用程序目录或其源自的共享文件夹目录读取加载项的 XML 清单。
  3. Office 客户端应用程序在浏览器控件中打开加载项的 HTML 页。
    后面的两个步骤第 4 步和第 5 步以异步方式并行发生。 因此,您的加载项代码必须在继续之前确保 DOM 和加载项运行时环境已加载完。
  4. 浏览器控件加载 DOM 和 HTML 正文,并调用事件的事件处理程序 window.onload 。
  5. Office 客户端应用程序加载运行时环境,该环境从内容分发网络 (CDN) 服务器下载和缓存 Office JavaScript API 库文件,然后调用外接程序的事件处理程序作为 Office 对象的 initialize 事件(如果已分配给它)。 此时,它还会检查是否有任何回调 (或链接 then() 的方法) 传递到处理程序 (或链接) Office.onReady 。 有关 和 Office.onReady之间的区别Office.initialize的详细信息,请参阅初始化外接程序
  6. 当 DOM 和 HTML 正文加载完毕并且加载项完成初始化后,加载项的主函数就可以继续进行。

启动 Outlook 外接程序

下图显示了启动在台式机、平板电脑或智能手机上运行的 Outlook 外接程序所涉及的事件流。

加载DOM环境_Office_02

Outlook 加载项启动时会发生以下事件。

  1. 当 Outlook 启动时,Outlook 读取已为用户的电子邮件帐户安装的 Outlook 外接程序的 XML 清单。
  2. 用户选择 Outlook 中的一个项目。
  3. 如果所选项目满足某个 Outlook 外接程序的激活条件,则 Outlook 将激活该外接程序,并使其按钮在 UI 中可见。
  4. 如果用户单击该按钮以启动 Outlook 外接程序,Outlook 将在浏览器控件中打开 HTML 页面。 下面两个步骤(步骤 5 和 6)并行发生。
  5. 浏览器控件加载 DOM 和 HTML 正文,并调用事件的事件处理程序 onload 。
  6. Outlook 加载运行时环境,这将从内容分发网络 (CDN) 服务器中为 JavaScript 库文件下载并缓存 JavaScript API,然后为 Office 加载项对象的 initialize 事件调用事件处理程序(如果已为其分配处理程序)。 此时,它还会检查是否有任何回调 (或链接 then() 的方法) 传递到处理程序 (或链接) Office.onReady 。 有关 和 Office.onReady之间的区别Office.initialize的详细信息,请参阅初始化外接程序
  7. 当 DOM 和 HTML 正文加载完毕并且加载项完成初始化后,加载项的主函数就可以继续进行。

标签:Outlook,外接,Office,DOM,环境,HTML,加载
From: https://blog.51cto.com/u_15456086/6005922

相关文章

  • C语言那些事儿 1,认识C语言并在编译环境中书写HelloWord
    网友说:C语言和C++区别是什么?我想学C++,因为C语言听起来好low啊。首先啊,小伙子有这个问题和想法是对的,我之前也问过同样的问题~那么,既然你问了,我也就浅浅的讲一讲,我也就不说的......
  • Linux环境变量高级用法
    变量删除设置方式功能${var#key}从左往右查找key,删除最短匹配内容${var##key}从左往右查找key,删除最长匹配内容${var%key}从右往左查找key,删除最短匹配......
  • 基于Dockerfile构建企业级生产环境镜像
    1、dockerfile语法详解1.1dockerfile介绍Dockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。基于Dockerfile构建镜像可以使用docker......
  • python虚拟环境迁移问题
    python虚拟环境迁移问题问题因目标机器网络限制,无法通过pip直接安装依赖包,但直接复制虚拟环境到另一台机器会,会导致无法执行python脚本文件本机python环境打包先......
  • OpenHarmony开发环境快速搭建(无需命令行)
    一.搭建Windows环境在嵌入式开发中,很多开发者习惯于使用Windows进行代码的编辑,比如使用Windows的VisualStudioCode进行OpenHarmony代码的开发。但当前阶段,大部分的开发板......
  • 上市公司环保补助数据、上市公司环保补贴数据、上市公司环境补助数据、上市公司环境补
    上市公司环保补助数据、上市公司环保补贴数据、上市公司环境补助数据、上市公司环境补贴数据(1990-2021)上市公司环保补助数据、上市公司环保补贴数据、上市公司环境补助数据......
  • python-标准库random模块的使用
    python-标准库random模块1.python-标准库random模块random库用于生成随机数。方法描述random.randint(a,b)随机返回整数a和b范围内数字random.random()......
  • vue实现dom元素拉伸(转载)
    一、实现效果封装了三个methods方法,传入对应节点即可实现对应元素节点的拉伸收缩。二、代码1.函数封装/****让指定的dom元素支持沿x轴的拉伸收缩*oBox为指定的dom......
  • Pycharm中没有显示miniconda刚创建好的Python2.7的测试环境
    目录​​前言​​​​问题描述​​​​解决​​​​结语​​前言Hello!非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ 自我介绍ଘ(੭ˊᵕˋ)੭昵称:海轰标......
  • Unix环境高级编程-01:环境配置和第一个ls程序
    环境配置和第一个ls程序一、环境配置下载apue3的代码(apue表示Unix环境高级编程的英文简写,3表示第三版)下载地址:http://www.apuebook.com/src.3e.tar.gz,书籍地址:http://w......