如何在 Word JS 加载项中检测 Windows 10 和 Office 365 版本

How to detect Windows 10 and Office 365 versions in Word JS Add-In

我们仍在开发中的 Word 加载项(使用 Office-js)与 IE11 不兼容。我们也不确定是否愿意支持它,如果没有必要,当然不会。

根据兼容性矩阵 Browsers used by Office Add-ins 如果 Windows 10 ver. >= 1903Microsoft 365 ver. >= 16.0.13127.20082“Microsoft Edge with original WebView (EdgeHTML)”用过的。我们以这种方式设置了 dev/testing 环境 (Mac/Windows),我们的加载项在那里工作没有问题。

但是,我们意识到一些用户也可以在此版本边界之外加载我们的加载项 并且我们的加载项没有正确 load/work 当他们这样做时。

所以我想知道是否有一种方法可以从加载项(加载时)中检测 Win+Office 版本:

  1. 检测目标 Windows 和 365 版本(如果可能)并向用户显示“不兼容”消息?
  2. 在清单中指定所需的最低版本(Office-JS API 版本除外)并阻止加载项 loading/installing?
  3. 还有其他选择吗?

非常感谢您的指导。

我不确定 windows 10 内部版本号,但可以提供一种在桌面平台上获取 word host 完整版的方法。

一般来说,下面的解决方法就可以了,

const context = window.external.GetContext()
context.GetHostFullVersion()

但在某些情况下,add-in 在 iframe 中打开,需要通过以下方式访问,

const context = parent.window.external.GetContext()
context.GetHostFullVersion()

我已经在 windows 平台上尝试过,这将为您提供类似“16.0.13328.20292”的版本字符串。

要在 Office.js 插件中获取应用程序版本,您还可以使用“Office.context.diagnostics.version”。您还可以通过“Office.context.diagnostics.platform”获取平台。