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

问题描述

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

根据兼容性矩阵Browsers used by Office Add-ins,如果使用Windows 10 ver. >= 1903Microsoft 365 ver. >= 16.0.13127.20082,则将使用“带有原始WebView(EdgeHTML)的Microsoft Edge” 。我们已经以这种方式设置了开发/测试环境(Mac / Windows),并且我们的加载项在那里正常工作。

但是,我们意识到某些用户还可以在此版本边界之外加载我们的加载项 并且我们的加载项在加载时无法正确加载/正常工作。

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

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

非常感谢您的指导。

解决方法

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

通常,以下解决方案会起作用,

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

但是在某些情况下,加载项在iframe中打开,则需要通过以下方式进行访问,

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

我已经在Windows平台上尝试过此操作,它将为您提供版本字符串,例如“ 16.0.13328.20292”。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...