如何在 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. >= 1903
和 Microsoft 365 ver. >= 16.0.13127.20082
则 “Microsoft Edge with original WebView (EdgeHTML)”用过的。我们以这种方式设置了 dev/testing 环境 (Mac/Windows),我们的加载项在那里工作没有问题。
但是,我们意识到一些用户也可以在此版本边界之外加载我们的加载项
并且我们的加载项没有正确 load/work 当他们这样做时。
所以我想知道是否有一种方法可以从加载项(加载时)中检测 Win+Office 版本:
- 检测目标 Windows 和 365 版本(如果可能)并向用户显示“不兼容”消息?
- 在清单中指定所需的最低版本(Office-JS API 版本除外)并阻止加载项 loading/installing?
- 还有其他选择吗?
非常感谢您的指导。
我不确定 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”获取平台。
我们仍在开发中的 Word 加载项(使用 Office-js)与 IE11 不兼容。我们也不确定是否愿意支持它,如果没有必要,当然不会。
根据兼容性矩阵 Browsers used by Office Add-ins 如果 Windows 10 ver. >= 1903
和 Microsoft 365 ver. >= 16.0.13127.20082
则 “Microsoft Edge with original WebView (EdgeHTML)”用过的。我们以这种方式设置了 dev/testing 环境 (Mac/Windows),我们的加载项在那里工作没有问题。
但是,我们意识到一些用户也可以在此版本边界之外加载我们的加载项 并且我们的加载项没有正确 load/work 当他们这样做时。
所以我想知道是否有一种方法可以从加载项(加载时)中检测 Win+Office 版本:
- 检测目标 Windows 和 365 版本(如果可能)并向用户显示“不兼容”消息?
- 在清单中指定所需的最低版本(Office-JS API 版本除外)并阻止加载项 loading/installing?
- 还有其他选择吗?
非常感谢您的指导。
我不确定 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”获取平台。