Office 加载项使用的浏览器和 Web 视图控件

Office 外接程序是在 Office web 版 中运行时使用 iframe 显示的 Web 应用程序。 在 Office 桌面和移动客户端中,Office 外接程序使用嵌入式浏览器控件 (也称为 Web 视图) 。 加载项还需要使用 JavaScript 引擎来运行 JavaScript。 嵌入式浏览器和引擎均由安装在用户计算机上的浏览器提供。 在本文中,“webview”是指 Webview 控件和 JavaScript 引擎的组合。

使用哪个 Web 视图取决于:

  • 计算机的操作系统。
  • 加载项是在 Office web 版、从 Microsoft 365 订阅下载的 Office 中运行的,还是在永久 Office 2016 或更高版本中运行。
  • 在 Windows 上的 Office 永久版本中,加载项是在“零售”还是“批量许可”变体中运行。

重要

Office 加载项中仍使用 Internet Explorer 和 Microsoft Edge 旧版 中的 Web 视图

平台和 Office 版本的一些组合(包括通过 Office 2019 的批量许可永久版本)仍使用 Internet Explorer 11 (名为“Trident”) 的 Web 视图控件,Microsoft Edge 旧版 (称为“EdgeHTML”) 来托管加载项,如本文所述。 Internet Explorer 11 于 2023 年 2 月在 Windows 10 和 Windows 11 中禁用,用于启动它的 UI 已删除;但仍安装在这些操作系统上。 因此,Office 仍可通过编程方式调用 Internet Explorer 中的 Trident 和其他功能。

我们建议 (但不需要) ,至少以最小方式继续支持这些组合,方法是在加载项的用户在这些 Web 视图中启动加载项时提供正常故障消息。 请记住以下附加要点:

  • Office web 版不再在 Internet Explorer 或Microsoft Edge 旧版中打开。 因此, AppSource 不会在这些 Web 浏览器上测试 Office 中的加载项。
  • AppSource 仍会测试使用 Trident 或 EdgeHTML 的平台和 Office 桌面 版本的组合。 但是,仅当加载项不支持这些 Web 视图时,才会发出警告;AppSource 不会拒绝加载项。
  • Script Lab工具不再支持 Trident。

有关支持 Trident 或 EdgeHTML 的详细信息(包括在加载项上配置正常失败消息),请参阅 支持较旧的Microsoft Web 视图和 Office 版本

以下部分指定用于各种平台和操作系统的浏览器。

非 Windows 平台

对于这些平台,由平台单独确定所使用的浏览器。

操作系统 Office 版本 浏览器
任意 Office 网页版 在其中打开 Office 的浏览器。
(但请注意,Office web 版不会在 Internet Explorer 中打开。
尝试执行此操作会在 Edge.) 中打开Office web 版
Mac 任意 将 Safari 与 WKWebView 配合使用
iOS 任意 将 Safari 与 WKWebView 配合使用
Android 任意 Chrome

重要

iOS 或 Android 上的 Office 加载项不支持条件访问。 这些加载项使用基于 Safari 的 WKWebView 或基于 Android 的 WebView,而不是基于 Edge 的浏览器控件。

Windows

在 Windows 上运行的加载项可以使用以下三种不同 Web 视图中的任何一种:

  • WebView2,由基于 Microsoft Edge (Chromium) 提供。
  • EdgeHTML,由 Microsoft Edge 旧版 提供。
  • Trident+,由 Internet Explorer 11 提供。 末尾的“+”表示 Office 加载项使用 Internet Explorer 11 中未内置到 Trident 本身的其他功能。

Windows 上的 Office 永久版本

对于 Windows 上的 Office 永久版本,使用的浏览器取决于 Office 版本、许可证是零售许可证还是批量许可,以及是否安装了基于 Edge WebView2 (Chromium 的) 。 Windows 版本并不重要,但请注意,Windows 7 之前的版本不支持 Office 加载项,Office 2021及更高版本在早于 Windows 10 的版本上不受支持。

若要确定 Office 2016 或 Office 2019 是零售许可还是批量许可,请使用 Office 版本和内部版本号的格式。 (对于Office 2021及更高版本,批量许可和零售之间的区别并不重要。)

  • 零售:对于 Office 2016 和 2019,格式为 YYMM (xxxxx.xxxxxx),以两个五位数字块结尾;例如 。 2206 (Build 15330.20264)
  • 批量许可
    • 对于 Office 2016,格式为 16.0.xxxx.xxxxx,以两个位数字块结尾;例如 。 16.0.5197.1000
    • 对于 Office 2019,格式为 1808 (xxxxx.xxxxxx),以两个位数字块结尾;例如 。 1808 (Build 10388.20027) 请注意,年份和月份始终 1808为 。
Office 版本 零售与批量许可 已安装 WebView2? 浏览器
Office 2024 无所谓 1 基于 WebView2 (Microsoft Edge2 Chromium 的)
Office 2021 无所谓 1 基于 WebView2 (Microsoft Edge2 Chromium 的)
Office 2019 零售版 1 基于 WebView2 (Microsoft Edge2 Chromium 的)
Office 2019 零售版 EdgeHTML (Microsoft Edge 旧版) 2、3
如果未安装 Edge,则使用 Trident+ (Internet Explorer 11) 。
Office 2019 批量许可 无所谓 Trident+ (Internet Explorer 11)
Office 2016 零售版 1 基于 WebView2 (Microsoft Edge2 Chromium 的)
Office 2016 零售版 EdgeHTML (Microsoft Edge 旧版) 2、3
如果未安装 Edge,则使用 Trident+ (Internet Explorer 11) 。
Office 2016 批量许可 无所谓 Trident+ (Internet Explorer 11)

1 在 Windows 11 之前的 Windows 版本中,必须安装 WebView2 控件,以便 Office 可以嵌入它。 它随永久Office 2021或更高版本一起安装;但不会随 Microsoft Edge 一起自动安装。 如果你有早期版本的永久 Office,请使用在 Microsoft Edge WebView2/嵌入 Web 内容处安装控件的说明。与 Microsoft Edge WebView2

2 使用 EdgeHTML 或 WebView2 时,Windows 讲述人 (有时称为“屏幕阅读器”) 读取 <title> 任务窗格中打开的页面中的标记。 在 Trident+ 中,讲述人读取任务窗格的标题栏,该标题栏来自外接程序清单中指定的外接程序名称。

3 如果外接程序使用仅外接程序清单并在 <清单中包含 Runtimes> 元素,或者它使用统一清单,并且包含“extensions.runtimes.lifetime”属性,则不会使用 EdgeHTML。 如果满足使用 WebView2 的条件,则外接程序将使用 WebView2。 否则,它使用 Trident+。 有关详细信息,请参阅 运行时为基于事件的激活配置 Outlook 加载项

Microsoft Windows 上的 Office 365 订阅版本

对于 Windows 上的订阅 Office,使用的浏览器由操作系统、Office 版本以及是否安装 WebView2 控件决定。

操作系统 Office 版本 已安装 WebView2? 浏览器
  • Windows 11
  • Windows 10
  • Windows 8.1
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
Microsoft 365 版本  >= 16.0.13530.204241 2 基于 WebView2 (Microsoft Edge3 Chromium)
  • 窗口 11
  • Windows 10 版本  >= 1903
Microsoft 365 版本  >= 16.0.13530.204241 EdgeHTML (Microsoft Edge 旧版) 3、4
  • Windows 11
  • Windows 10 版本  >= 1903
Microsoft 365 版本  >= 16.0.11629 < 16.0.13530.204241 无所谓 EdgeHTML (Microsoft Edge 旧版) 3、4
  • Windows 11
  • Windows 10 版本  >= 1903
Microsoft 365 版本  < 16.0.116291 无所谓 Trident+ (Internet Explorer 11)
  • Windows 10 版本  < 1903
  • Windows 8.1
Microsoft 365 Trident+ (Internet Explorer 11)
  • Windows 7
Microsoft 365 无所谓 Trident+ (Internet Explorer 11)

1 有关更多详细信息,请参阅 更新历史记录页 以及如何 查找 Office 客户端版本和更新通道

2 在 Windows 11 之前的 Windows 版本中,必须安装 WebView2 控件,以便 Office 可以嵌入它。 它随 Microsoft 365 版本 2101 或更高版本一起安装,但不会随 Microsoft Edge 一起自动安装。 如果你有早期版本的 Microsoft 365,请使用在 Microsoft Edge WebView2/嵌入 Web 内容处安装控件的说明。与 Microsoft Edge WebView2。 在 16.0.14326.xxxxx 之前的 Microsoft 365 版本中,还必须创建 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\WEF\Win32WebView2 注册表项并将其值设置为 dword:00000001

3 使用 EdgeHTML 或 WebView2 时,Windows 讲述人 (有时称为“屏幕阅读器”) 读取 <title> 任务窗格中打开的页面中的标记。 在 Trident+ 中,讲述人读取任务窗格的标题栏,该标题栏来自外接程序清单中指定的外接程序名称。

4 如果外接程序使用仅外接程序清单并在 <清单中包含 Runtimes> 元素,或者它使用统一清单,并且包含“extensions.runtimes.lifetime”属性,则不会使用 EdgeHTML。 如果满足使用 WebView2 的条件,则外接程序将使用 WebView2。 否则,它使用 Trident+。 有关详细信息,请参阅 运行时为基于事件的激活配置 Outlook 加载项

使用 Trident+ (Internet Explorer 11)

Trident+ 不支持 ES5 之后的 JavaScript 版本。 如果外接程序的任何用户具有使用 Trident+ 的平台,则若要使用 ECMAScript 2015 或更高版本的语法和功能,你有两个选项。

  • 在 ECMAScript 2015 (也称为 ES6) 或更高版本的 JavaScript 或 TypeScript 中编写代码,然后使用 babeltsc 等编译器将代码编译为 ES5 JavaScript。
  • 使用 ECMAScript 2015 或更高版本的 JavaScript 编写,但也加载使 IE 能够运行代码的 polyfill 库(如 core-js )。

有关这些选项的详细信息,请参阅 支持较旧的Microsoft Webviews 和 Office 版本

此外,Trident+ 不支持某些 HTML5 功能,例如媒体、录制和位置。 若要了解详细信息,请参阅 确定加载项在运行时运行的 Web 视图

排查 EdgeHTML 和 WebView2 (Microsoft Edge) 问题

服务辅助角色不工作

使用 EdgeHTML 时,Office 加载项不支持服务辅助角色。 WebView2 支持它们。

滚动条未显示在任务窗格中

默认情况下,EdgeHTML 和 WebView2 中的滚动条处于隐藏状态,直到悬停在上。 适用于任务窗格中页面的 <body> 元素的 CSS 样式应包含 -ms-overflow-style 属性,且应将其设置为 scrollbar

使用 Microsoft Edge 开发工具进行调试时,加载项会崩溃或重新加载

Microsoft Edge DevTools for EdgeHTML 中设置断点可能会导致 Office 认为加载项已挂起。 发生这种情况时,它将自动重新加载该加载项。 为防止这种情况,请将以下注册表项和值添加到开发计算机:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Wef]"AlertInterval"=dword:00000000

加载项尝试打开时,出现“加载项错误 我们无法从 localhost 打开此加载项”错误

一个已知原因是 EdgeHTML 要求在开发计算机上为 localhost 提供环回豁免。 按照无法从 localhost 打开加载项中的说明操作。

尝试下载 PDF 文件时出现错误

EdgeHTML 或 WebView2 不支持将 Blob 作为 PDF 文件直接下载到外接程序中。 解决方法是创建一个简单的 Web 应用程序,该应用程序将 Blob 下载为 PDF 文件。 在外接程序中,调用 Office.context.ui.openBrowserWindow(url) 方法并传递 Web 应用程序的 URL。 这将在 Office 外部的浏览器窗口中打开 Web 应用程序。

WIP 保护的文档

若要使用 WIP (Windows 信息保护) 在文档中运行外接程序,并使用 WebView2 (Microsoft Edge Chromium 的) ,还需要执行额外的步骤。 将 WebView2 进程 msedgewebview2.exe添加到企业的 WIP 策略中的受保护应用列表。 管理员使用以下值通过Intune添加此 WIP 策略

  • 名称:Webview2
  • 发布者:O=MICROSOFT CORPORATION,L=REDMOND,S=WASHINGTON,C=US
  • 产品名称:MICROSOFT EDGE WEBVIEW2
  • 文件:MSEDGEWEBVIEW2.EXE
  • 最低版本: *
  • 最大版本: *

如果尚未添加 WIP 策略,则外接程序默认为较旧的运行时。 在本文前面的 Windows 上的 Office 永久版本Windows 上的 Office Microsoft 365 订阅版本部分中,将 EdgeHTML (Microsoft Edge 旧版) 替换为 WebView2 (Microsoft基于 Edge Chromium 的) ,无论后者出现在何处。

若要确定文档是否受 WIP 保护,请执行以下步骤。

  1. 打开此文件。
  2. 选择功能区上的“ 文件 ”选项卡。
  3. 选择“ 信息”。
  4. “信息” 页面的上半部分,在文件名正下方,已启用 WIP 的文档将具有公文包图标,后跟 由工作 (...)

注意

通过内部版本 16.0.16626.20132 添加了对已启用 WIP 的文档中的 WebView2 的支持。 如果使用旧版本,则运行时默认为 EdgeHTML (Microsoft Edge 旧版) ,而不管策略如何。

另请参阅