为不同的客户端提供不同的 Office 加载项体验,如何检查?
Serve different Office add-in experiences to different clients, how to check?
由于支持加载项的 Office 客户端种类繁多,我们希望为不同的客户端提供一些略有不同的体验(也是为了规避某些客户端中的一些违规行为和错误)。 office.js 库中似乎没有 API 函数来实际显示主机应用程序?我们如何 'detect' 我们的加载项托管在哪个客户端?
目前,Office 插件 API 不提供 API 获取客户端信息。但是,Office 将附加 _host_Info 查询字符串来描述主机。
例如,这是 Windows 上的 Excel 任务窗格加载项 运行 的 URL:
https://localhost:44345/App/Home/Home.html?_host_Info=Excel|Win32|16.01|en-US
作为解决方法,我们可以从此查询字符串中获取客户端信息。
虽然加载项 API 没有为您提供 API 调用来查看主机是什么,但有一些方法可以进行特征检测,所以实际问题是:您为什么要认识主人。您可以改为检测一些更多 'unusual' 功能是否可用,以及它们是否不退回到其他方法。您可以找到非常详尽的解释 .
事实上,如果你真的想检测主机,你可以检查请求的URL,因为它附加到应用程序url,其中包含有关主机(客户端和版本)的信息。
由于支持加载项的 Office 客户端种类繁多,我们希望为不同的客户端提供一些略有不同的体验(也是为了规避某些客户端中的一些违规行为和错误)。 office.js 库中似乎没有 API 函数来实际显示主机应用程序?我们如何 'detect' 我们的加载项托管在哪个客户端?
目前,Office 插件 API 不提供 API 获取客户端信息。但是,Office 将附加 _host_Info 查询字符串来描述主机。
例如,这是 Windows 上的 Excel 任务窗格加载项 运行 的 URL: https://localhost:44345/App/Home/Home.html?_host_Info=Excel|Win32|16.01|en-US
作为解决方法,我们可以从此查询字符串中获取客户端信息。
虽然加载项 API 没有为您提供 API 调用来查看主机是什么,但有一些方法可以进行特征检测,所以实际问题是:您为什么要认识主人。您可以改为检测一些更多 'unusual' 功能是否可用,以及它们是否不退回到其他方法。您可以找到非常详尽的解释
事实上,如果你真的想检测主机,你可以检查请求的URL,因为它附加到应用程序url,其中包含有关主机(客户端和版本)的信息。