【问题标题】:How to detect Windows 10 and Office 365 versions in Word JS Add-In如何在 Word JS 加载项中检测 Windows 10 和 Office 365 版本
【发布时间】:2021-02-16 01:33:15
【问题描述】:

我们仍在开发中的 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)”。我们以这种方式设置了我们的开发/测试环境(Mac/Windows),并且我们的插件在那里工作没有问题。

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

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

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

非常感谢您的指导。

【问题讨论】:

    标签: office-js office-addins word-addins


    【解决方案1】:

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

    一般情况下,以下解决方案会起作用,

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

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

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

    我在windows平台上试过这个,这会为你提供像“16.0.13328.20292”这样的版本字符串。

    【讨论】:

    • 您能否提供一些参考资料? window.external.GetContext() 是办公 js API 吗?在 ScriptLab 中尝试过,但它在那里不起作用!谢谢
    • 在脚本实验室,你需要尝试parent.window.external.GetContext()
    • 那行得通。发现一堆与版本相关的新API!非常感谢。如果您可以使用parent. 更新您的答案,那就太好了,然后我会接受它作为答案。这些 API 是否有任何官方文档?
    • 已接受。感谢您的回答。您是如何接触到这个 API 的?
    猜你喜欢
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多